def cadastrar(): # Cadastro via ajax usuario = Usuario() usuario.nivel = Roles.usuario.value populate_from_request(usuario) if not Usuario.valid_pass(request.form['senha']): return json_response(message='A senha deve ter pelo menos 6 dígitos', data=[]), 400 if usuario.login_exists(usuario.cpf, 0): return json_response(message='O CPF já está em uso, utilize outro', data=[]), 400 usuario.senha = Usuario.hash(request.form['senha']) usuario.data_cadastro = datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S") identifier = usuario.insert() if identifier > 0: Logs(0, usuario.identifier, usuario.nome + '(' + usuario.cpf + ')' + ' fez o cadastro', 'usuario', usuario.identifier, datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")).insert() return json_response(message='Cadastrado realizado!', data=[usuario], redirect=url_for('usuarios.entrar')), 201 else: return json_response(message='Não foi possível cadastrar sua conta', data=[]), 400
def admin_cadastrar(): """ Cadastro de usuários """ auth = Auth() if auth.is_allowed('cadastra.usuario'): usuario = Usuario() populate_from_request(usuario) if not Usuario.valid_pass(request.form['senha']): return json_response( message='A senha deve ter pelo menos 6 dígitos', data=[]), 400 if usuario.login_exists(usuario.cpf, 0): return json_response(message='O CPF já está em uso, utilize outro', data=[]), 400 usuario.senha = Usuario.hash(request.form['senha']) usuario.data_cadastro = datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S") if usuario.insert(): Logs( 0, auth.user.identifier, auth.user.nome + '(' + auth.user.cpf + ')' + ' cadastrou o usuário ' + usuario.nome + ' (' + usuario.cpf + ')', 'usuario', usuario.identifier, datetime.datetime.now().strftime( "%Y-%m-%d %H:%M:%S")).insert() return json_response(message='Usuário cadastrado', data=[usuario], redirect=url_for('usuarios.admin_lista')) else: return json_response( message='Não foi possível cadastrar o usuário', data=[]), 400 else: return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403