functions.create_user

  1from dictionary.sql import check_user_query
  2from dictionary.vars import to_remove_list
  3from functions.query_executor import QueryExecutor
  4from functions.validate_document import Documents
  5from functions.login import Login
  6from time import sleep
  7import streamlit as st
  8import bcrypt
  9
 10
 11class CreateUser:
 12    """
 13    Classe com métodos para a criação de usuários.
 14    """
 15
 16    def hash_password(self, password: str) -> bytes:
 17        """
 18
 19        Parameters
 20        ----------
 21        password : str
 22            A senha a ser encriptada.
 23
 24        Returns
 25        -------
 26        bytes
 27            A senha encriptada.
 28        """
 29
 30        salt = bcrypt.gensalt()
 31        return bcrypt.hashpw(password.encode('utf-8'), salt)
 32
 33    def is_login_valid(self, login: str):
 34        """
 35        Realiza a validação do nome do login escolhido pelo usuário.
 36
 37        Parameters
 38        ----------
 39        login : str
 40            O nome do login escolhido pelo usuário.
 41
 42        Returns
 43        -------
 44        bool
 45            Se o nome de login é ou não válido.
 46        """
 47        if login != "":
 48            has_upper = any(c.isupper() for c in login)
 49            has_digit = any(c.isdigit() for c in login)
 50            has_special = any(not c.isalnum() for c in login)
 51            if " " in login or has_upper or has_digit or has_special:
 52                st.error(body="O login '{}' é inválido.".format(login))
 53                return False
 54            else:
 55                st.success(body="O login '{}' é válido.".format(login))
 56                return True
 57        else:
 58            st.error(body="O login '{}' é inválido.".format(login))
 59            return False
 60
 61    def is_password_valid(self, password: str):
 62        """
 63        Realiza a validação da senha escolhida pelo usuário.
 64
 65        Parameters
 66        ----------
 67        password : str
 68            A senha escolhida pelo usuário.
 69
 70        Returns
 71        -------
 72        bool
 73            Se a senha escolhida é ou não válida.
 74        """
 75
 76        has_upper = any(c.isupper() for c in password)
 77        has_digit = any(c.isdigit() for c in password)
 78        has_special = any(not c.isalnum() for c in password)
 79        if " " in password or has_upper == False or has_digit == False or has_special == False or len(password) < 8:
 80            st.error(body="A senha informada é inválida.".format(password))
 81            return False
 82        else:
 83            st.success(body="A senha informada é válida.".format(password))
 84            return True
 85
 86    def main_menu(self):
 87        """
 88        Menu principal da criação de usuário.
 89        """
 90        logged_user, logged_user_password = Login().get_user_data(return_option="user_doc_name")
 91
 92        query_executor = QueryExecutor()
 93        document = Documents()
 94
 95        check_user_quantity = query_executor.simple_consult_brute_query(
 96            check_user_query)
 97        check_user_quantity = query_executor.treat_simple_result(
 98            check_user_quantity, to_remove_list)
 99        check_user_quantity = int(check_user_quantity)
100
101        if check_user_quantity == 0:
102            col1, col2, col3 = st.columns(3)
103            with col1:
104                st.header(body=":floppy_disk: Cadastro de usuário")
105            st.divider()
106
107        col4, col5, col6 = st.columns(3)
108
109        with col6:
110            data_validator_expander = st.expander(
111                label="Validação dos dados", expanded=True)
112
113        if check_user_quantity == 0:
114
115            with col6:
116                with data_validator_expander:
117                    st.warning(
118                        body="Nenhum usuário cadastrado. Cadastre o primeiro usuário.")
119
120        with col4:
121            with st.expander(label="Dados de login", expanded=True):
122                user_login = st.text_input(label="Login de usuário", max_chars=25, help="O login deve conter apenas letras minúsculas, sem espaços.",)
123                user_password = st.text_input(label="Senha de usuário", max_chars=100, help="A senha deve conter ao mínimo 8 caracteres, 1 letra maiúscula, 1 minúscula e 1 caractere especial, sem espaços.", type="password", key="user_password")
124                confirm_user_password = st.text_input(label="Confirmação de senha", max_chars=100, help="Deve ser a mesma informada no campo acima.", type="password", key="confirm_user_password")
125
126            confirm_values = st.checkbox(label="Confirmar dados")
127
128        sex_options = {"Masculino": "M", "Feminino": "F"}
129
130        with col5:
131            with st.expander(label="Dados do usuário", expanded=True):
132                user_name = st.text_input(label="Nome de usuário", max_chars=100, help="Informe aqui seu nome completo.",)
133                user_document = st.text_input(label="Documento do usuário", help="Informe seu CPF neste campo.")
134                user_sex = st.selectbox(label="Sexo do usuário", options=sex_options.keys())
135
136            insert_new_user_button = st.button(label=":floppy_disk: Cadastrar novo usuário")
137
138            if insert_new_user_button:
139                user_sex = sex_options[user_sex]
140                if confirm_values == True:
141                    with st.spinner(text="Aguarde..."):
142                        sleep(2.5)
143                    with col6:
144                        with data_validator_expander:
145                            is_document_valid = document.validate_owner_document(user_document)
146                            valid_login = self.is_login_valid(user_login)
147                            valid_password = self.is_password_valid(user_password)
148
149                    if user_login != "" and user_password != "" and confirm_user_password != "" and (user_password == confirm_user_password) and user_name != "" and is_document_valid == True and valid_login == True and valid_password == True:
150
151                        hashed_password = self.hash_password(user_password)
152
153                        if check_user_quantity == 0:
154                            insert_new_user_query = """INSERT INTO usuarios (login, senha, nome, documento_usuario, sexo) VALUES (%s, %s, %s, %s, %s)"""
155                            new_user_values = (user_login, hashed_password, user_name, user_document, user_sex)
156                            query_executor.insert_query(insert_new_user_query, new_user_values, "Novo usuário cadastrado com sucesso!", "Erro ao cadastrar novo usuário:")
157
158                            log_query = '''INSERT INTO seguranca.logs_atividades (usuario_log, tipo_log, conteudo_log) VALUES ( %s, %s, %s);'''
159                            log_values = (user_login, "Registro", "O usuário foi cadastrado no sistema.")
160                            query_executor.insert_query(log_query, log_values, "Log gravado.", "Erro ao gravar log:")
161
162                            with st.spinner(text="Recarregando..."):
163                                sleep(2.5)
164                                st.rerun()
165
166                        elif check_user_quantity >= 1:
167
168                            with col6:
169                                check_if_user_document_exists_query = """SELECT COUNT(id_usuario) FROM usuarios WHERE cpf = {};""".format(user_document)
170                                check_if_user_exists = query_executor.simple_consult_query(check_if_user_document_exists_query)
171                                check_if_user_exists = query_executor.treat_simple_result(check_if_user_exists, to_remove_list)
172                                check_if_user_exists = int(check_if_user_exists)
173
174                                if check_if_user_exists == 0:
175                                    insert_new_user_query = """INSERT INTO usuarios (login, senha, nome, cpf, sexo) VALUES (%s, %s, %s, %s, %s)"""
176                                    new_user_values = (user_login, hashed_password, user_name, user_document, user_sex)
177                                    query_executor.insert_query(insert_new_user_query, new_user_values, "Novo usuário cadastrado com sucesso!", "Erro ao cadastrar novo usuário:")
178
179                                    log_query = '''INSERT INTO seguranca.logs_atividades (usuario_log, tipo_log, conteudo_log) VALUES ( %s, %s, %s);'''
180                                    log_values = (logged_user, "Registro", "Cadastrou o usuário {} associado ao documento {} no sistema.".format(user_name, user_document))
181                                    query_executor.insert_query(log_query, log_values, "Log gravado.", "Erro ao gravar log:")
182
183                                    sleep(2)
184                                elif check_if_user_exists >= 1:
185                                    with data_validator_expander:
186                                        st.error("Já existe um usuário cadastrado associado ao documento {}.".format(user_document))
187
188                    elif user_login == "" or user_password == "" or user_name == "" or is_document_valid == False or valid_login == False or valid_password == False or confirm_user_password == "" or (user_password != confirm_user_password):
189                        with col6:
190                            if user_login == "":
191                                with data_validator_expander:
192                                    st.error("O login não foi preenchido.")
193                            if user_password == "":
194                                with data_validator_expander:
195                                    st.error("A senha não foi preenchida.")
196                            if user_name == "":
197                                with data_validator_expander:
198                                    st.error("O nome não foi preenchido.")
199                            if confirm_user_password == "":
200                                with data_validator_expander:
201                                    st.error("A confirmação da senha não foi preenchida.")
202                            if user_password != confirm_user_password and (user_password != "" and confirm_user_password != ""):
203                                with data_validator_expander:
204                                    st.error("As senhas informadas não coincidem.")
205
206                elif confirm_values == False:
207                    with col6:
208                        with data_validator_expander:
209                            st.warning(body="Revise os dados e confirme-os antes de prosseguir.")
class CreateUser:
 12class CreateUser:
 13    """
 14    Classe com métodos para a criação de usuários.
 15    """
 16
 17    def hash_password(self, password: str) -> bytes:
 18        """
 19
 20        Parameters
 21        ----------
 22        password : str
 23            A senha a ser encriptada.
 24
 25        Returns
 26        -------
 27        bytes
 28            A senha encriptada.
 29        """
 30
 31        salt = bcrypt.gensalt()
 32        return bcrypt.hashpw(password.encode('utf-8'), salt)
 33
 34    def is_login_valid(self, login: str):
 35        """
 36        Realiza a validação do nome do login escolhido pelo usuário.
 37
 38        Parameters
 39        ----------
 40        login : str
 41            O nome do login escolhido pelo usuário.
 42
 43        Returns
 44        -------
 45        bool
 46            Se o nome de login é ou não válido.
 47        """
 48        if login != "":
 49            has_upper = any(c.isupper() for c in login)
 50            has_digit = any(c.isdigit() for c in login)
 51            has_special = any(not c.isalnum() for c in login)
 52            if " " in login or has_upper or has_digit or has_special:
 53                st.error(body="O login '{}' é inválido.".format(login))
 54                return False
 55            else:
 56                st.success(body="O login '{}' é válido.".format(login))
 57                return True
 58        else:
 59            st.error(body="O login '{}' é inválido.".format(login))
 60            return False
 61
 62    def is_password_valid(self, password: str):
 63        """
 64        Realiza a validação da senha escolhida pelo usuário.
 65
 66        Parameters
 67        ----------
 68        password : str
 69            A senha escolhida pelo usuário.
 70
 71        Returns
 72        -------
 73        bool
 74            Se a senha escolhida é ou não válida.
 75        """
 76
 77        has_upper = any(c.isupper() for c in password)
 78        has_digit = any(c.isdigit() for c in password)
 79        has_special = any(not c.isalnum() for c in password)
 80        if " " in password or has_upper == False or has_digit == False or has_special == False or len(password) < 8:
 81            st.error(body="A senha informada é inválida.".format(password))
 82            return False
 83        else:
 84            st.success(body="A senha informada é válida.".format(password))
 85            return True
 86
 87    def main_menu(self):
 88        """
 89        Menu principal da criação de usuário.
 90        """
 91        logged_user, logged_user_password = Login().get_user_data(return_option="user_doc_name")
 92
 93        query_executor = QueryExecutor()
 94        document = Documents()
 95
 96        check_user_quantity = query_executor.simple_consult_brute_query(
 97            check_user_query)
 98        check_user_quantity = query_executor.treat_simple_result(
 99            check_user_quantity, to_remove_list)
100        check_user_quantity = int(check_user_quantity)
101
102        if check_user_quantity == 0:
103            col1, col2, col3 = st.columns(3)
104            with col1:
105                st.header(body=":floppy_disk: Cadastro de usuário")
106            st.divider()
107
108        col4, col5, col6 = st.columns(3)
109
110        with col6:
111            data_validator_expander = st.expander(
112                label="Validação dos dados", expanded=True)
113
114        if check_user_quantity == 0:
115
116            with col6:
117                with data_validator_expander:
118                    st.warning(
119                        body="Nenhum usuário cadastrado. Cadastre o primeiro usuário.")
120
121        with col4:
122            with st.expander(label="Dados de login", expanded=True):
123                user_login = st.text_input(label="Login de usuário", max_chars=25, help="O login deve conter apenas letras minúsculas, sem espaços.",)
124                user_password = st.text_input(label="Senha de usuário", max_chars=100, help="A senha deve conter ao mínimo 8 caracteres, 1 letra maiúscula, 1 minúscula e 1 caractere especial, sem espaços.", type="password", key="user_password")
125                confirm_user_password = st.text_input(label="Confirmação de senha", max_chars=100, help="Deve ser a mesma informada no campo acima.", type="password", key="confirm_user_password")
126
127            confirm_values = st.checkbox(label="Confirmar dados")
128
129        sex_options = {"Masculino": "M", "Feminino": "F"}
130
131        with col5:
132            with st.expander(label="Dados do usuário", expanded=True):
133                user_name = st.text_input(label="Nome de usuário", max_chars=100, help="Informe aqui seu nome completo.",)
134                user_document = st.text_input(label="Documento do usuário", help="Informe seu CPF neste campo.")
135                user_sex = st.selectbox(label="Sexo do usuário", options=sex_options.keys())
136
137            insert_new_user_button = st.button(label=":floppy_disk: Cadastrar novo usuário")
138
139            if insert_new_user_button:
140                user_sex = sex_options[user_sex]
141                if confirm_values == True:
142                    with st.spinner(text="Aguarde..."):
143                        sleep(2.5)
144                    with col6:
145                        with data_validator_expander:
146                            is_document_valid = document.validate_owner_document(user_document)
147                            valid_login = self.is_login_valid(user_login)
148                            valid_password = self.is_password_valid(user_password)
149
150                    if user_login != "" and user_password != "" and confirm_user_password != "" and (user_password == confirm_user_password) and user_name != "" and is_document_valid == True and valid_login == True and valid_password == True:
151
152                        hashed_password = self.hash_password(user_password)
153
154                        if check_user_quantity == 0:
155                            insert_new_user_query = """INSERT INTO usuarios (login, senha, nome, documento_usuario, sexo) VALUES (%s, %s, %s, %s, %s)"""
156                            new_user_values = (user_login, hashed_password, user_name, user_document, user_sex)
157                            query_executor.insert_query(insert_new_user_query, new_user_values, "Novo usuário cadastrado com sucesso!", "Erro ao cadastrar novo usuário:")
158
159                            log_query = '''INSERT INTO seguranca.logs_atividades (usuario_log, tipo_log, conteudo_log) VALUES ( %s, %s, %s);'''
160                            log_values = (user_login, "Registro", "O usuário foi cadastrado no sistema.")
161                            query_executor.insert_query(log_query, log_values, "Log gravado.", "Erro ao gravar log:")
162
163                            with st.spinner(text="Recarregando..."):
164                                sleep(2.5)
165                                st.rerun()
166
167                        elif check_user_quantity >= 1:
168
169                            with col6:
170                                check_if_user_document_exists_query = """SELECT COUNT(id_usuario) FROM usuarios WHERE cpf = {};""".format(user_document)
171                                check_if_user_exists = query_executor.simple_consult_query(check_if_user_document_exists_query)
172                                check_if_user_exists = query_executor.treat_simple_result(check_if_user_exists, to_remove_list)
173                                check_if_user_exists = int(check_if_user_exists)
174
175                                if check_if_user_exists == 0:
176                                    insert_new_user_query = """INSERT INTO usuarios (login, senha, nome, cpf, sexo) VALUES (%s, %s, %s, %s, %s)"""
177                                    new_user_values = (user_login, hashed_password, user_name, user_document, user_sex)
178                                    query_executor.insert_query(insert_new_user_query, new_user_values, "Novo usuário cadastrado com sucesso!", "Erro ao cadastrar novo usuário:")
179
180                                    log_query = '''INSERT INTO seguranca.logs_atividades (usuario_log, tipo_log, conteudo_log) VALUES ( %s, %s, %s);'''
181                                    log_values = (logged_user, "Registro", "Cadastrou o usuário {} associado ao documento {} no sistema.".format(user_name, user_document))
182                                    query_executor.insert_query(log_query, log_values, "Log gravado.", "Erro ao gravar log:")
183
184                                    sleep(2)
185                                elif check_if_user_exists >= 1:
186                                    with data_validator_expander:
187                                        st.error("Já existe um usuário cadastrado associado ao documento {}.".format(user_document))
188
189                    elif user_login == "" or user_password == "" or user_name == "" or is_document_valid == False or valid_login == False or valid_password == False or confirm_user_password == "" or (user_password != confirm_user_password):
190                        with col6:
191                            if user_login == "":
192                                with data_validator_expander:
193                                    st.error("O login não foi preenchido.")
194                            if user_password == "":
195                                with data_validator_expander:
196                                    st.error("A senha não foi preenchida.")
197                            if user_name == "":
198                                with data_validator_expander:
199                                    st.error("O nome não foi preenchido.")
200                            if confirm_user_password == "":
201                                with data_validator_expander:
202                                    st.error("A confirmação da senha não foi preenchida.")
203                            if user_password != confirm_user_password and (user_password != "" and confirm_user_password != ""):
204                                with data_validator_expander:
205                                    st.error("As senhas informadas não coincidem.")
206
207                elif confirm_values == False:
208                    with col6:
209                        with data_validator_expander:
210                            st.warning(body="Revise os dados e confirme-os antes de prosseguir.")

Classe com métodos para a criação de usuários.

def hash_password(self, password: str) -> bytes:
17    def hash_password(self, password: str) -> bytes:
18        """
19
20        Parameters
21        ----------
22        password : str
23            A senha a ser encriptada.
24
25        Returns
26        -------
27        bytes
28            A senha encriptada.
29        """
30
31        salt = bcrypt.gensalt()
32        return bcrypt.hashpw(password.encode('utf-8'), salt)
Parameters
  • password (str): A senha a ser encriptada.
Returns
  • bytes: A senha encriptada.
def is_login_valid(self, login: str):
34    def is_login_valid(self, login: str):
35        """
36        Realiza a validação do nome do login escolhido pelo usuário.
37
38        Parameters
39        ----------
40        login : str
41            O nome do login escolhido pelo usuário.
42
43        Returns
44        -------
45        bool
46            Se o nome de login é ou não válido.
47        """
48        if login != "":
49            has_upper = any(c.isupper() for c in login)
50            has_digit = any(c.isdigit() for c in login)
51            has_special = any(not c.isalnum() for c in login)
52            if " " in login or has_upper or has_digit or has_special:
53                st.error(body="O login '{}' é inválido.".format(login))
54                return False
55            else:
56                st.success(body="O login '{}' é válido.".format(login))
57                return True
58        else:
59            st.error(body="O login '{}' é inválido.".format(login))
60            return False

Realiza a validação do nome do login escolhido pelo usuário.

Parameters
  • login (str): O nome do login escolhido pelo usuário.
Returns
  • bool: Se o nome de login é ou não válido.
def is_password_valid(self, password: str):
62    def is_password_valid(self, password: str):
63        """
64        Realiza a validação da senha escolhida pelo usuário.
65
66        Parameters
67        ----------
68        password : str
69            A senha escolhida pelo usuário.
70
71        Returns
72        -------
73        bool
74            Se a senha escolhida é ou não válida.
75        """
76
77        has_upper = any(c.isupper() for c in password)
78        has_digit = any(c.isdigit() for c in password)
79        has_special = any(not c.isalnum() for c in password)
80        if " " in password or has_upper == False or has_digit == False or has_special == False or len(password) < 8:
81            st.error(body="A senha informada é inválida.".format(password))
82            return False
83        else:
84            st.success(body="A senha informada é válida.".format(password))
85            return True

Realiza a validação da senha escolhida pelo usuário.

Parameters
  • password (str): A senha escolhida pelo usuário.
Returns
  • bool: Se a senha escolhida é ou não válida.
def main_menu(self):
 87    def main_menu(self):
 88        """
 89        Menu principal da criação de usuário.
 90        """
 91        logged_user, logged_user_password = Login().get_user_data(return_option="user_doc_name")
 92
 93        query_executor = QueryExecutor()
 94        document = Documents()
 95
 96        check_user_quantity = query_executor.simple_consult_brute_query(
 97            check_user_query)
 98        check_user_quantity = query_executor.treat_simple_result(
 99            check_user_quantity, to_remove_list)
100        check_user_quantity = int(check_user_quantity)
101
102        if check_user_quantity == 0:
103            col1, col2, col3 = st.columns(3)
104            with col1:
105                st.header(body=":floppy_disk: Cadastro de usuário")
106            st.divider()
107
108        col4, col5, col6 = st.columns(3)
109
110        with col6:
111            data_validator_expander = st.expander(
112                label="Validação dos dados", expanded=True)
113
114        if check_user_quantity == 0:
115
116            with col6:
117                with data_validator_expander:
118                    st.warning(
119                        body="Nenhum usuário cadastrado. Cadastre o primeiro usuário.")
120
121        with col4:
122            with st.expander(label="Dados de login", expanded=True):
123                user_login = st.text_input(label="Login de usuário", max_chars=25, help="O login deve conter apenas letras minúsculas, sem espaços.",)
124                user_password = st.text_input(label="Senha de usuário", max_chars=100, help="A senha deve conter ao mínimo 8 caracteres, 1 letra maiúscula, 1 minúscula e 1 caractere especial, sem espaços.", type="password", key="user_password")
125                confirm_user_password = st.text_input(label="Confirmação de senha", max_chars=100, help="Deve ser a mesma informada no campo acima.", type="password", key="confirm_user_password")
126
127            confirm_values = st.checkbox(label="Confirmar dados")
128
129        sex_options = {"Masculino": "M", "Feminino": "F"}
130
131        with col5:
132            with st.expander(label="Dados do usuário", expanded=True):
133                user_name = st.text_input(label="Nome de usuário", max_chars=100, help="Informe aqui seu nome completo.",)
134                user_document = st.text_input(label="Documento do usuário", help="Informe seu CPF neste campo.")
135                user_sex = st.selectbox(label="Sexo do usuário", options=sex_options.keys())
136
137            insert_new_user_button = st.button(label=":floppy_disk: Cadastrar novo usuário")
138
139            if insert_new_user_button:
140                user_sex = sex_options[user_sex]
141                if confirm_values == True:
142                    with st.spinner(text="Aguarde..."):
143                        sleep(2.5)
144                    with col6:
145                        with data_validator_expander:
146                            is_document_valid = document.validate_owner_document(user_document)
147                            valid_login = self.is_login_valid(user_login)
148                            valid_password = self.is_password_valid(user_password)
149
150                    if user_login != "" and user_password != "" and confirm_user_password != "" and (user_password == confirm_user_password) and user_name != "" and is_document_valid == True and valid_login == True and valid_password == True:
151
152                        hashed_password = self.hash_password(user_password)
153
154                        if check_user_quantity == 0:
155                            insert_new_user_query = """INSERT INTO usuarios (login, senha, nome, documento_usuario, sexo) VALUES (%s, %s, %s, %s, %s)"""
156                            new_user_values = (user_login, hashed_password, user_name, user_document, user_sex)
157                            query_executor.insert_query(insert_new_user_query, new_user_values, "Novo usuário cadastrado com sucesso!", "Erro ao cadastrar novo usuário:")
158
159                            log_query = '''INSERT INTO seguranca.logs_atividades (usuario_log, tipo_log, conteudo_log) VALUES ( %s, %s, %s);'''
160                            log_values = (user_login, "Registro", "O usuário foi cadastrado no sistema.")
161                            query_executor.insert_query(log_query, log_values, "Log gravado.", "Erro ao gravar log:")
162
163                            with st.spinner(text="Recarregando..."):
164                                sleep(2.5)
165                                st.rerun()
166
167                        elif check_user_quantity >= 1:
168
169                            with col6:
170                                check_if_user_document_exists_query = """SELECT COUNT(id_usuario) FROM usuarios WHERE cpf = {};""".format(user_document)
171                                check_if_user_exists = query_executor.simple_consult_query(check_if_user_document_exists_query)
172                                check_if_user_exists = query_executor.treat_simple_result(check_if_user_exists, to_remove_list)
173                                check_if_user_exists = int(check_if_user_exists)
174
175                                if check_if_user_exists == 0:
176                                    insert_new_user_query = """INSERT INTO usuarios (login, senha, nome, cpf, sexo) VALUES (%s, %s, %s, %s, %s)"""
177                                    new_user_values = (user_login, hashed_password, user_name, user_document, user_sex)
178                                    query_executor.insert_query(insert_new_user_query, new_user_values, "Novo usuário cadastrado com sucesso!", "Erro ao cadastrar novo usuário:")
179
180                                    log_query = '''INSERT INTO seguranca.logs_atividades (usuario_log, tipo_log, conteudo_log) VALUES ( %s, %s, %s);'''
181                                    log_values = (logged_user, "Registro", "Cadastrou o usuário {} associado ao documento {} no sistema.".format(user_name, user_document))
182                                    query_executor.insert_query(log_query, log_values, "Log gravado.", "Erro ao gravar log:")
183
184                                    sleep(2)
185                                elif check_if_user_exists >= 1:
186                                    with data_validator_expander:
187                                        st.error("Já existe um usuário cadastrado associado ao documento {}.".format(user_document))
188
189                    elif user_login == "" or user_password == "" or user_name == "" or is_document_valid == False or valid_login == False or valid_password == False or confirm_user_password == "" or (user_password != confirm_user_password):
190                        with col6:
191                            if user_login == "":
192                                with data_validator_expander:
193                                    st.error("O login não foi preenchido.")
194                            if user_password == "":
195                                with data_validator_expander:
196                                    st.error("A senha não foi preenchida.")
197                            if user_name == "":
198                                with data_validator_expander:
199                                    st.error("O nome não foi preenchido.")
200                            if confirm_user_password == "":
201                                with data_validator_expander:
202                                    st.error("A confirmação da senha não foi preenchida.")
203                            if user_password != confirm_user_password and (user_password != "" and confirm_user_password != ""):
204                                with data_validator_expander:
205                                    st.error("As senhas informadas não coincidem.")
206
207                elif confirm_values == False:
208                    with col6:
209                        with data_validator_expander:
210                            st.warning(body="Revise os dados e confirme-os antes de prosseguir.")

Menu principal da criação de usuário.