Module sapolio.anexos
Gerenciamento de Anexos aos processos.
Functions
| mkpath (path) | Cria um path absoluto para o arquivo anexo. |
| mkgzpath (path) | Cria um path absoluto para o arquivo anexo, supondo que ele foi gzippado. |
| abre (path) | Abre o arquivo anexo (original ou compactado) |
| size (path) | Obtém o tamanho do arquivo (original ou compactado) |
| dados_anexo (id_anexo, mode) | Obtém os dados de um anexo. |
| anexo2processo (id_anexo) | Obtém o id do requerimento correspondente ao anexo. |
| tamanho_limite_doc_obrigatorio (db, id_doc) | Retorna o limite de tamanho para um documento específico (se houver). |
| dentro_limite (db, anexo) | Verifica se o anexo está dentro da restrição de tamanho; se não houver limite, retorna true. |
| grava (db, id_processo, cgi_anexos) | Grava os arquivos no sistema de arquivos e no banco de dados. |
| lista (db, id_processo, restricao) | Obtém a lista de todos os arquivos anexados a um processo. |
| lista_obrigatorios (db) | Obtém a lista de todos os arquivos anexados a um processo determi- nados pela tabela documento_especifico. |
| documentos_especificos_processo (tipo_processo, id_curso) | Lista os documentos específicos relacionados a um processo. |
| documentos_especificos_tipo (tipo_processo) | Lista os documentos específicos relacionados a um tipo de processo. |
| tab_arqs_id_campo (id_processo, id_campo) | Obtém a lista de todos os arquivos anexados a um processo em um dado campo do formulário. |
| tab_arqs_id_campo_max_data (id_processo, id_campo) | Obtém a lista de arquivos mais recentes anexados a um processo em cada campo do formulário. |
| tab_arqs_id_campo_historico (id_processo, id_campo, versao) | Obtém a lista de todos os arquivos anexados a um processo em um dado campo do formulário. |
| tem_anexos_id_campo (db, id_processo, id_campo) | Checa se há anexos de um processo associados a um id_campo dado. |
| tem_anexos_id_campo_nao_vazio (db, id_processo, id_campo) | Checa se há anexos de um processo associados a um id_campo dado (que não seja vazio). |
| tem_anexos_nao_vazios (db, id_processo) | Checa se há anexos de um processo associados a um id_campo dado (que não seja vazio). |
| remove_anexo (db, id_arquivo) | Remove um arquivo da tabela de anexos. |
| remove_anexo_acumulativo (db, id_arquivo) | Remove um arquivo da tabela de anexos. |
| id_proc_id_campo_checagem (db, id_arquivo) | Retorna o id_campo do campo de checagem do arquivo (se houver). |
| remove_anexos_id_campo (db, id_processo, id_campo) | Remove os arquivos de um processo associados a um dado campo. |
| remove (db, id_ou_sequencia) | Remove os anexos da tabela. |
| anexos_doc_isolado (db) | Retorna uma tabela com os anexos de um documento isolado. |
| lista_docs_isolados (db, ordem, limite) | Lista todos os documentos isolados. |
| gera_doc_isolado (db, id_usuario, matricula, observacao, arqs) | Gera um registro sobre um documento isolado. |
| tem_acesso_anexo_isolado (db, id_usuario, id_anexo) | Checa se um usuário tem acesso a um anexo (que seja relacionado a um documento específico). |
| ingresso_com_diploma (db, id_processo) | Checa se um processo teve o diploma anexado. |
| grava_referencia (db, id_processo, id_usuario, arq) | Cria uma referência (outra entrada na tabela anexo) a um arquivo pré-existente. |
| substitui_arquivo_por_codigo_sgd (db, id_anexo, numref) | Substitui o path de um anexo por uma referência ao SGD. |
| grava_codigo_sgd (db, id_anexo, numref) | Grava uma referência do SGD junto da entrada do anexo. |
Functions
- mkpath (path)
-
Cria um path absoluto para o arquivo anexo.
Parameters:
- path
- mkgzpath (path)
-
Cria um path absoluto para o arquivo anexo, supondo que ele foi gzippado.
Parameters:
- path
- abre (path)
-
Abre o arquivo anexo (original ou compactado)
Parameters:
- path
Returns:
-
Handle de arquivo que deve ser FECHADO depois.
- size (path)
-
Obtém o tamanho do arquivo (original ou compactado)
Parameters:
- path
Returns:
-
Número com o tamanho do arquivo.
- dados_anexo (id_anexo, mode)
-
Obtém os dados de um anexo.
Parameters:
- id_anexo Identificador do anexo (pode ser subselect).
- mode String indicando o modo de recuperação de dados ('a' ou 'n') ou com o nome da(s) coluna(s) que se quer obter do banco (opcional).
Returns:
-
Tabela com os dados ou String com o valor da coluna indicada.
- anexo2processo (id_anexo)
-
Obtém o id do requerimento correspondente ao anexo.
Parameters:
- id_anexo Identificador do anexo (pode ser subselect).
Returns:
- Identificador do processo ao qual o anexo pertence.
- String, com o path relativo para o arquivo, ou nil, se não houver processo relacionado ou mesmo se não houver o anexo.
- tamanho_limite_doc_obrigatorio (db, id_doc)
-
Retorna o limite de tamanho para um documento específico (se houver).
Parameters:
- db Objeto conexão.
- id_doc Identificador do documento específico.
Returns:
-
Número com valor do limite (max.
- dentro_limite (db, anexo)
-
Verifica se o anexo está dentro da restrição de tamanho; se não houver
limite, retorna true.
Parameters:
- db Objeto conexão.
- anexo Tabela com a descrição do arquivo na tabela cgi.
Returns:
-
Booleano indicando se o arquivo respeita o limite de tamanho (se houver).
- grava (db, id_processo, cgi_anexos)
-
Grava os arquivos no sistema de arquivos e no banco de dados.
Os arquivos são gravados com nomes padronizados (veja variável nome_arq)
no diretório indicado por physical_path.
No banco, o arquivo fica ligado ao processo.
Parameters:
- db Objeto conexão.
- id_processo Número com o identificador do processo.
- cgi_anexos Tabela com os arquivos enviados, no formato do CGILua.
Returns:
-
Tabela com os identificadores dos arquivos gravados.
- lista (db, id_processo, restricao)
-
Obtém a lista de todos os arquivos anexados a um processo.
Parameters:
- db Objeto conexão.
- id_processo Número com o identificador do processo.
- restricao String ou Tabela indicando alguma restrição na seleção (valores válidos: "dono", "outros", ou { nomes = { ... }}).
Returns:
-
Tabela com links HTML para os arquivos.
- lista_obrigatorios (db)
-
Obtém a lista de todos os arquivos anexados a um processo determi-
nados pela tabela documento_especifico.
Parameters:
- db Objeto conexão.
Returns:
-
Tabela dados dos anexos obrigatórios.
- documentos_especificos_processo (tipo_processo, id_curso)
-
Lista os documentos específicos relacionados a um processo.
Parameters:
- tipo_processo String com o tipo de processo (aceita subselect).
- id_curso String (opcional) com o identificador do curso.
Returns:
-
Tabela com a sequência de arquivos específicos.
- documentos_especificos_tipo (tipo_processo)
-
Lista os documentos específicos relacionados a um tipo de processo.
Parameters:
- tipo_processo String com o tipo de processo (aceita subselect).
Returns:
-
Tabela com a sequência de arquivos específicos.
- tab_arqs_id_campo (id_processo, id_campo)
-
Obtém a lista de todos os arquivos anexados a um processo em um dado
campo do formulário.
Parameters:
- id_processo Identificador do processo (aceita subselect).
- id_campo Identificador do campo (aceita subselect).
Returns:
-
Tabela com os dados dos arquivos.
- tab_arqs_id_campo_max_data (id_processo, id_campo)
-
Obtém a lista de arquivos mais recentes anexados a um processo em cada
campo do formulário.
Parameters:
- id_processo Identificador do processo (aceita subselect).
- id_campo Identificador do campo (aceita subselect).
Returns:
-
Tabela com os dados dos arquivos.
- tab_arqs_id_campo_historico (id_processo, id_campo, versao)
-
Obtém a lista de todos os arquivos anexados a um processo em um dado
campo do formulário.
Parameters:
- id_processo Identificador do processo (aceita subselect).
- id_campo Identificador do campo (aceita subselect).
- versao String (opcional) com o timestamp da versão que se deseja ver.
Returns:
-
Tabela com os dados dos arquivos.
- tem_anexos_id_campo (db, id_processo, id_campo)
-
Checa se há anexos de um processo associados a um id_campo dado.
Parameters:
- db
- id_processo
- id_campo
Returns:
-
Booleano indicando se há algum anexo.
- tem_anexos_id_campo_nao_vazio (db, id_processo, id_campo)
-
Checa se há anexos de um processo associados a um id_campo dado (que não
seja vazio).
Parameters:
- db
- id_processo
- id_campo
Returns:
-
Booleano indicando se há algum anexo.
- tem_anexos_nao_vazios (db, id_processo)
-
Checa se há anexos de um processo associados a um id_campo dado (que não
seja vazio).
Parameters:
- db
- id_processo
Returns:
-
Booleano indicando se há algum anexo.
- remove_anexo (db, id_arquivo)
-
Remove um arquivo da tabela de anexos.
Parameters:
- db Objeto conexão.
- id_arquivo Número com o identificador do arquivo.
- remove_anexo_acumulativo (db, id_arquivo)
-
Remove um arquivo da tabela de anexos.
Parameters:
- db Objeto conexão.
- id_arquivo Número com o identificador do arquivo.
- id_proc_id_campo_checagem (db, id_arquivo)
-
Retorna o id_campo do campo de checagem do arquivo (se houver).
Parameters:
- db Objeto conexão.
- id_arquivo Número com o identificador do arquivo.
Returns:
-
String com o id_lua correspondente ao campo do arquivo dado.
- remove_anexos_id_campo (db, id_processo, id_campo)
-
Remove os arquivos de um processo associados a um dado campo.
Parameters:
- db Objeto conexão.
- id_processo Identificador do processo (aceita subselect).
- id_campo Identificador do campo do processo (aceita subselect).
- remove (db, id_ou_sequencia)
-
Remove os anexos da tabela.
Parameters:
- db Objeto conexão.
- id_ou_sequencia Identificador do anexo (aceita subselect) ou String com lista de identificadores (aceita subselect).
- anexos_doc_isolado (db)
-
Retorna uma tabela com os anexos de um documento isolado.
Parameters:
- db Objeto de conexão com o banco de dados.
Returns:
-
Tabela com os dados dos anexos.
- lista_docs_isolados (db, ordem, limite)
-
Lista todos os documentos isolados.
Parameters:
- db Objeto de conexão com o banco de dados.
- ordem String indicando o campo a ser usado para ordenação (default = data)
- limite String ou número opcional com a quantidade de entradas a serem listadas.
Returns:
-
Iterador que retorna o Identificador do documento isolado,
uma string-array com os identificadores dos anexos, a matrícula do aluno,
o identificador do usuário, o nome do usuário e a data.
- gera_doc_isolado (db, id_usuario, matricula, observacao, arqs)
-
Gera um registro sobre um documento isolado.
Se houver qualquer problema, apaga tudo o que criou.
Parameters:
- db Objeto de conexão com o banco de dados.
- id_usuario Identificador do usuário.
- matricula String com a matrícula do aluno relacionado.
- observacao String descrevendo a operação.
- arqs Tabela com os dados dos anexos
Returns:
- Identificador do documento isolado, ou nil, em caso de erro.
- String com mensagem de erro (se houver).
- tem_acesso_anexo_isolado (db, id_usuario, id_anexo)
-
Checa se um usuário tem acesso a um anexo (que seja relacionado a um
documento específico).
Parameters:
- db Objeto de conexão com o banco.
- id_usuario Identificador do usuário que inseriu a nova entrada (aceita subselect).
- id_anexo Identificador do anexo (aceita subselect).
Returns:
-
Booleano indicando se o usuário tem acesso ao anexo dado.
- ingresso_com_diploma (db, id_processo)
-
Checa se um processo teve o diploma anexado.
Parameters:
- db Objeto de conexão com o banco.
- id_processo Identificador do processo da nova entrada (aceita subselect).
Returns:
-
Booleano indicado se o processo teve um diploma anexado.
- grava_referencia (db, id_processo, id_usuario, arq)
-
Cria uma referência (outra entrada na tabela anexo) a um arquivo
pré-existente.
Parameters:
- db Objeto de conexão com o banco.
- id_processo Identificador do processo da nova entrada (aceita subselect).
- id_usuario Identificador do usuário que inseriu a nova entrada (aceita subselect).
- arq Tabela de dados da nova entrada (id_anexo é obrigatório).
Returns:
-
Identificador da nova entrada criada na tabela anexo.
- substitui_arquivo_por_codigo_sgd (db, id_anexo, numref)
-
Substitui o path de um anexo por uma referência ao SGD.
Parameters:
- db Objeto de conexão com o banco.
- id_anexo Identificador do anexo (aceita subselect).
- numref String com o código de referência do arquivo no SGD.
- grava_codigo_sgd (db, id_anexo, numref)
-
Grava uma referência do SGD junto da entrada do anexo.
Parameters:
- db Objeto de conexão com o banco.
- id_anexo Identificador do anexo (aceita subselect).
- numref String com o código de referência do arquivo no SGD.