Module bau

Base de Autorização Única.

Funções que lidam com permissões, recursos, usuários e tabelas auxiliares.

Functions

permissao (db, user, recurso) Obtém dados da permissão de um usuário a um recurso.
lista_recurso_acesso (db) Obtém todas as combinações de recursos e níveis de acesso.
existe_ligacao (db, user, tab, nome_campo, chave) Checa se ligacao existe
lista_alunos_configuraveis (db, user, pro, nome) Lista os alunos que o usuário pode configurar.
cargo_responsavel (db, recurso) Obtém o nome do cargo do responsável pelo recurso.
pode_consultar_relatorios (db, usuario, nivel) Verifica se um usuário pode consultar relatórios do sistema.
lista_analisadores_inscricao (db, id_curso) Lista os analisadores de inscrições de um curso.
pode_consultar_varios_cursos_progs (db, user) Verifica se um usuário pode consultar mais de um curso e se pode consultar mais de um programa.
pode_consultar_producoes (db, user) Verifica se um usuário pode consultar as produções do Sintético.
lista_contatos_alternativos (db, email_ou_ids) Obtém uma lista de contatos associados ao email dado como entrada
lista_log_contato_email (db, email_ou_ids) Lista os logs de contato relativos ao e-mail dado.
grava_log_contato (db, log, email, lids) Grava o novo log de contato relativo ao email dado.
cadastra_usuario (db, matricula, dados) Cadastra usuário.
desliga_usuario (db, user, tab, id, nome_campo) Desfaz um relacionamento entre o usuario e alguma outra tabela.
cadastra_permissao (db, user, recurso, nivel, estrangeira) Atribui uma nova permissão ao usuário.
remove_permissao (db, user, recurso, nivel, estrangeira) Remove uma permissão existente do usuário.
liga_usuario (db, user, tab, id, nome_campo) Cria um relacionamento entre o usuario e alguma outra tabela.
liga_orientador (db, user, orientador) Associa (ou desassocia) um aluno a seu orientador.
liga_usuario_centro (db, user, centro) Cria uma ligação entre um usuário e um centro.
liga_usuario_programa (db, user, programa) Cria uma ligação entre um usuário e um programa.
liga_usuario_coordenacao (db, user, coordenacao) Cria uma ligação entre um usuário e uma coordenação.
liga_usuario_curso (db, user, curso, extra) Cria uma ligação entre um usuário e um curso.
liga_usuario_colegiado (db, user, colegiado, extra) Cria uma ligação entre um usuário e um colegiado.
liga_usuario_unidade (db, user, unidade, extra) Cria uma ligação entre um usuário e uma unidade.
liga_aluno_area_concentracao (db, user, area_concentracao) Cria uma ligação entre um aluno e uma área de concentração.
atualiza_cadastro (db, usuario) Atualiza os dados do usuário a partir do que está no SAU.
atualiza_data_defesa (db, id_aluno, data) Atualiza a data de defesa do aluno de pós.
anula_data_saida (db, id_usuario) Apaga a data de saída do usuário.
id_do_tipo_usuario (tipo_usuario) Monta subselect que descobre o identificador de um tipo de usuário.
candidato2aluno (db, inscricao, matricula, nome, codigo_curso, email) Converte o usuário de candidato (calouro) para aluno.
ids_calouro (db, inscricao, matricula) Checa o calouro na tabela usuário, tanto pela inscrição quanto pela matrícula.
cancela_matricula (db, id_usuario) Cancela a matrícula do usuário.
define_validade_codigo_usuario (db, id_usuario, data) Define a data de validade do código de acesso do usuário.
checa_codigo_acesso (db, codigo_acesso) Checa se o código de acesso existe E está dentro da validade.
codigo_acesso2id_usuario (db, codigo_acesso) Obtém o id_usuario a partir do código de acesso e informa se está na validade.


Functions

permissao (db, user, recurso)
Obtém dados da permissão de um usuário a um recurso.

Parameters:

  • db Objeto conexão.
  • user Identificador do usuário.
  • recurso String com o id_lua do recurso.

Returns:

    Tabela com o nível de acesso (id_nivel) ao recurso, e os demais campos da tabela permissao.
lista_recurso_acesso (db)
Obtém todas as combinações de recursos e níveis de acesso.

Parameters:

  • db Objeto conexão.

Returns:

    Iterador que retorna (id_recurso, id_nivel, recurso, nivel).
existe_ligacao (db, user, tab, nome_campo, chave)
Checa se ligacao existe

Parameters:

  • db Objeto conexão.
  • user Identificador do usuário.
  • tab String com o nome da tabela onde checar a ligação.
  • nome_campo String com o nome do identificador nesta tabela.
  • chave Identificador procurado.

Returns:

  1. Flag indicando se a ligação já existe.
  2. String com mensagem de erro.
lista_alunos_configuraveis (db, user, pro, nome)
Lista os alunos que o usuário pode configurar. Os alunos configuráveis são os de pós que estão ligados aos programas nos quais o usuário tem permissão de Configurar Aluno POS.

Parameters:

  • db Objeto conexão.
  • user Identificador do usuário.
  • pro Identificador do programa (opcional).
  • nome String com parte do nome do aluno (opcional).

Returns:

    Iterador que retorna o identificador, o nome, a matrícula, o e-mail, o cpf, a data de saída (ou nil, se estiver ativo), o nome do programa do aluno, seguido do identificador e nome do orientador (que podem ser nulos).
cargo_responsavel (db, recurso)
Obtém o nome do cargo do responsável pelo recurso.

Parameters:

  • db Objeto conexão.
  • recurso String com o nome do recurso.

Returns:

    String com o nome do cargo do responsável.
pode_consultar_relatorios (db, usuario, nivel)
Verifica se um usuário pode consultar relatórios do sistema. O recurso consultado é o "Relatório *" (id_lua 'relatorios_*')

Parameters:

  • db Objeto conexão.
  • usuario Identificador de usuário (pode ser subselect).
  • nivel String com o nível de acesso (opcional).

Returns:

    Identificador e descrição do nível de acesso aos relatórios.
lista_analisadores_inscricao (db, id_curso)
Lista os analisadores de inscrições de um curso. Exclui o administrador (id==1).

Parameters:

  • db Objeto conexão.
  • id_curso Identificador do curso (ou subselect).

Returns:

    Iterador de usuários (que retorna o id).
pode_consultar_varios_cursos_progs (db, user)
Verifica se um usuário pode consultar mais de um curso e se pode consultar mais de um programa.

Parameters:

  • db Objeto conexão.
  • user Identificador de usuário (pode ser subselect).

Returns:

  1. Booleano indicando se o usuário pode consultar mais de um curso.
  2. Booleano indicando se o usuário pode consultar mais de um programa.
pode_consultar_producoes (db, user)
Verifica se um usuário pode consultar as produções do Sintético. O teste exato é se o usuário possui alguma permissão vinculada ao recurso de id_lua 'consultar_producao'.

Parameters:

  • db Objeto conexão.
  • user Identificador de usuário (pode ser subselect).

Returns:

    Booleano indicando se o usuário pode consultar o Sintético.
lista_contatos_alternativos (db, email_ou_ids)
Obtém uma lista de contatos associados ao email dado como entrada

Parameters:

  • db Objeto conexão.
  • email_ou_ids String com o e-mail do usuário.

Returns:

    Iterador que retorna o id do usuário, a matrícula, o nome, o e-mail, o tipo (descrição) e o contato do curso ou coordenação ao qual estiver vinculado
lista_log_contato_email (db, email_ou_ids)
Lista os logs de contato relativos ao e-mail dado.

Parameters:

  • db Objeto de conexão.
  • email_ou_ids String com o e-mail do usuário ou id_usuario's separados por vírgula.

Returns:

    Iterador que retorna o id_usuario, o e-mail na tabela usuário, o e-mail na tabela log e a string com o log correspondente ao e-mail dado.
grava_log_contato (db, log, email, lids)
Grava o novo log de contato relativo ao email dado. Apaga todos os logs com o e-mail e o id na lista de id's; em seguida insere novas linhas para todos os id's, repetindo o log e o e-mail.

Parameters:

  • db Objeto de conexão.
  • log String com o texto do log.
  • email String com o e-mail do usuário.
  • lids Identificadores do usuário separados por vírgulas
cadastra_usuario (db, matricula, dados)
Cadastra usuário.

Parameters:

  • db Objeto conexão.
  • matricula Matricula do usuário.
  • dados Tabela de dados do usuario (tipo é obrigatório e não pode ser subselect).

Returns:

    Identificador do novo usuário.
desliga_usuario (db, user, tab, id, nome_campo)
Desfaz um relacionamento entre o usuario e alguma outra tabela.

Parameters:

  • db Objeto conexão.
  • user Identificador do usuário.
  • tab String com o nome da outra tabela.
  • id Identificador na "outra tabela".
  • nome_campo String com o nome do campo (sem o prefixo "id_") na "outra tabela" (opcional).
cadastra_permissao (db, user, recurso, nivel, estrangeira)
Atribui uma nova permissão ao usuário.

Parameters:

  • db Objeto conexão.
  • user Identificador do usuário.
  • recurso Identificador do recurso.
  • nivel Identificador do nível de acesso (ou subselect que obtenha essa informação).
  • estrangeira Chave estrangeira quando o nível é curso ou programa.

Returns:

  1. Número de linhas afetadas (1), ou nil (em caso de erro).
  2. Mensagem de erro (em caso de erro).
remove_permissao (db, user, recurso, nivel, estrangeira)
Remove uma permissão existente do usuário.

Parameters:

  • db Objeto conexão.
  • user Identificador do usuário.
  • recurso Identificador do recurso.
  • nivel Identificador do nível de acesso (ou subselect que obtenha essa informação).
  • estrangeira Valor da chave estrangeira para os casos de níveis de acesso que o exijam (curso (3), programa (4), unidade (5), coordenacao (9), colegiado (10)).

Returns:

    Número de linhas afetadas (0 ou 1).
liga_usuario (db, user, tab, id, nome_campo)
Cria um relacionamento entre o usuario e alguma outra tabela. No caso de ligação entre usuário e orientador, os parâmetros devem ser usados da seguinte forma: user == id do aluno, tab == "usuario", id == id do professor, nome_campo == "orientador".

Parameters:

  • db Objeto conexão.
  • user Identificador do usuário.
  • tab String com o nome da outra tabela.
  • id Identificador na "outra tabela".
  • nome_campo String com o nome do campo (sem o prefixo "id_") na "outra tabela" (opcional).

Returns:

    Número de linhas afetadas (0 ou 1).
liga_orientador (db, user, orientador)
Associa (ou desassocia) um aluno a seu orientador.

Parameters:

  • db Objeto conexão.
  • user Número com o identificador do usuário.
  • orientador Número com o identificador do orientador (ou (NULL) para desassociar).

Returns:

    Número de linhas afetadas (0 ou 1).
liga_usuario_centro (db, user, centro)
Cria uma ligação entre um usuário e um centro.

Parameters:

  • db Objeto conexão.
  • user Número com o identificador do usuário.
  • centro Identificador do centro. (identificador pode ser um sub-select)

Returns:

  1. Número de linhas inseridas.
  2. Número com o identificador do centro.
liga_usuario_programa (db, user, programa)
Cria uma ligação entre um usuário e um programa.

Parameters:

  • db Objeto conexão.
  • user Número com o identificador do usuário.
  • programa Identificador do programa. (identificador pode ser um sub-select)

Returns:

  1. Número de linhas inseridas.
  2. Número com o identificador do programa.
liga_usuario_coordenacao (db, user, coordenacao)
Cria uma ligação entre um usuário e uma coordenação.

Parameters:

  • db Objeto conexão.
  • user Número com o identificador do usuário.
  • coordenacao Identificador da coordenação. (identificador pode ser um sub-select)

Returns:

  1. Número de linhas inseridas.
  2. Número com o identificador da coordenação.
liga_usuario_curso (db, user, curso, extra)
Cria uma ligação entre um usuário e um curso.

Parameters:

  • db Objeto conexão.
  • user Número com o identificador do usuário.
  • curso Identificador do curso. (identificador pode ser um sub-select)
  • extra Tabela contendo colunas extras a serem preenchidas.

Returns:

  1. Número de linhas inseridas.
  2. Número com o identificador do curso.
liga_usuario_colegiado (db, user, colegiado, extra)
Cria uma ligação entre um usuário e um colegiado.

Parameters:

  • db Objeto conexão.
  • user Número com o identificador do usuário.
  • colegiado Identificador do colegiado. (identificador pode ser um sub-select)
  • extra Tabela contendo colunas extras a serem preenchidas.

Returns:

  1. Número de linhas inseridas.
  2. Número com o identificador do colegiado.
liga_usuario_unidade (db, user, unidade, extra)
Cria uma ligação entre um usuário e uma unidade.

Parameters:

  • db Objeto conexão.
  • user Número com o identificador do usuário.
  • unidade Identificador da unidade. (identificador pode ser um sub-select)
  • extra Tabela contendo colunas extras a serem preenchidas.

Returns:

  1. Número de linhas inseridas.
  2. Número com o identificador da unidade.
liga_aluno_area_concentracao (db, user, area_concentracao)
Cria uma ligação entre um aluno e uma área de concentração.

Parameters:

  • db Objeto conexão.
  • user Número com o identificador do usuário.
  • area_concentracao Identificador da área de concentração. (identificador pode ser um sub-select)

Returns:

  1. Número de linhas inseridas.
  2. Número com o identificador da área de concentração.
atualiza_cadastro (db, usuario)
Atualiza os dados do usuário a partir do que está no SAU.

Parameters:

  • db Objeto conexão.
  • usuario Objeto usuário com dados do SAU.

Returns:

  1. Boolean indicando se os dados estão iguais.
  2. String com mensagem sobre o que está diferente.
atualiza_data_defesa (db, id_aluno, data)
Atualiza a data de defesa do aluno de pós.

Parameters:

  • db Objeto conexão.
  • id_aluno identificador do usuário que será atualizado.
  • data data de defesa do aluno.

Returns:

    String com número de linhas afetadas pelo update (1).
anula_data_saida (db, id_usuario)
Apaga a data de saída do usuário.

Parameters:

  • db Objeto conexão.
  • id_usuario Identificador do usuário (aceita subselect).

Returns:

    String com número de linhas afetadas pelo update (1).
id_do_tipo_usuario (tipo_usuario)
Monta subselect que descobre o identificador de um tipo de usuário.

Parameters:

  • tipo_usuario String com o tipo de usuário.

Returns:

    String com consulta SQL que obtém o identificador do tipo.
candidato2aluno (db, inscricao, matricula, nome, codigo_curso, email)
Converte o usuário de candidato (calouro) para aluno.

Parameters:

  • db Objeto conexão.
  • inscricao String com o número de inscrição do calouro.
  • matricula String com o número de matrícula que o calouro ganhou.
  • nome String com o nome.
  • codigo_curso String com o código do curso (curso+habilitação) no SAU.
  • email String com o e-mail do candidato.

Returns:

  1. String com o Identificador do usuário ou nil, em caso de erro.
  2. String com a mensagem de erro, se houver.
ids_calouro (db, inscricao, matricula)
Checa o calouro na tabela usuário, tanto pela inscrição quanto pela matrícula.

Parameters:

  • db Objeto conexão.
  • inscricao String com o número de inscrição do calouro.
  • matricula String com o número de matrícula que o calouro ganhou.

Returns:

  1. String com o id_usuario da inscrição.
  2. String com o id_usuario da matrícula.
cancela_matricula (db, id_usuario)
Cancela a matrícula do usuário.

Parameters:

  • db Objeto conexão.
  • id_usuario Identificador do usuário (aceita subselect).

Returns:

    Número de linhas (na tabela usuario) afetadas.
define_validade_codigo_usuario (db, id_usuario, data)
Define a data de validade do código de acesso do usuário.

Parameters:

  • db Objeto de conexão com o banco.
  • id_usuario Identificador do usuário (aceita subselect).
  • data String com a data do último dia em que o código estará válido.

Returns:

    Número de linhas afetadas.
checa_codigo_acesso (db, codigo_acesso)
Checa se o código de acesso existe E está dentro da validade.

Parameters:

  • db Objeto de conexão com o banco.
  • codigo_acesso String com um suposto código de acesso.

Returns:

    Booleano indicando se o código de acesso existe.
codigo_acesso2id_usuario (db, codigo_acesso)
Obtém o id_usuario a partir do código de acesso e informa se está na validade.

Parameters:

  • db Objeto de conexão com o banco.
  • codigo_acesso String com um suposto código de acesso.

Returns:

  1. Identificador do usuário ou nil, se não encontrar
  2. Booleano indicando se o código está na validade ou não.
generated by LDoc 1.4.6 Last updated 2024-09-26 20:37:35