mirror of https://github.com/interlegis/sapl.git
23 changed files with 4218 additions and 711 deletions
@ -0,0 +1,915 @@ |
|||
# Fluxo de Proposições no SAPL |
|||
|
|||
## Visão Geral |
|||
|
|||
O fluxo de proposições permite que **parlamentares** criem propostas legislativas (proposições) e as enviem para o **protocolo legislativo**. Após análise, o protocolo pode **incorporar** a proposição (transformando-a em matéria legislativa) ou **devolver** para correção. |
|||
|
|||
--- |
|||
|
|||
## 1. Conceitos Fundamentais |
|||
|
|||
### 1.1 O que é uma Proposição? |
|||
|
|||
Uma **Proposição** é uma proposta inicial feita por um autor (geralmente um parlamentar) que **ainda não foi oficialmente incorporada** ao processo legislativo. É um estágio preliminar antes de se tornar uma **Matéria Legislativa**. |
|||
|
|||
**Características:** |
|||
- Criada pelo parlamentar/autor |
|||
- Pode ser editada enquanto não for enviada |
|||
- Não tramita (ainda não é oficial) |
|||
- Não pode ser votada |
|||
- Possui número sequencial próprio |
|||
|
|||
### 1.2 O que é uma Matéria Legislativa? |
|||
|
|||
Uma **Matéria Legislativa** é a proposição que foi **oficialmente recebida e incorporada** ao processo legislativo da casa. Após a incorporação, a matéria pode tramitar, ser votada e seguir todo o fluxo legislativo. |
|||
|
|||
**Características:** |
|||
- Criada pelo operador de protocolo ao incorporar proposição |
|||
- Possui número oficial (PL nº 1/2025, por exemplo) |
|||
- Tramita entre unidades |
|||
- Pode ser incluída em sessões e votada |
|||
- Possui protocolo (se configurado) |
|||
|
|||
### 1.3 Diferença entre Proposição e Matéria Legislativa |
|||
|
|||
| Característica | Proposição | Matéria Legislativa | |
|||
|----------------|------------|---------------------| |
|||
| **Status** | Proposta preliminar | Oficialmente incorporada | |
|||
| **Tramitação** | Não tramita | Tramita entre unidades | |
|||
| **Votação** | Não pode ser votada | Pode ser votada | |
|||
| **Criador** | Autor (Parlamentar) | Operador de Protocolo | |
|||
| **Edição** | Pode ser editada pelo autor | Editada por operadores autorizados | |
|||
| **Numeração** | Sequencial de proposições | Numeração oficial legislativa | |
|||
|
|||
--- |
|||
|
|||
## 2. Atores do Sistema |
|||
|
|||
### 2.1 Parlamentar |
|||
- Membro eleito da casa legislativa |
|||
- Possui cadastro completo (dados pessoais, foto, biografia, mandatos) |
|||
- Ao ser cadastrado, **automaticamente** um **Autor** é criado para ele |
|||
|
|||
### 2.2 Autor |
|||
- Abstração que representa quem pode criar proposições |
|||
- Pode ser: |
|||
- Um Parlamentar |
|||
- Um Órgão |
|||
- Uma Comissão |
|||
- Cidadão (dependendo da configuração) |
|||
- Quando um Parlamentar é criado, um Autor é criado automaticamente |
|||
|
|||
### 2.3 Usuário do Sistema |
|||
- Login para acessar o sistema |
|||
- Pode estar vinculado a um ou mais Autores (através de **OperadorAutor**) |
|||
- Quando vinculado a um Autor, entra automaticamente no grupo "Autor" |
|||
|
|||
### 2.4 Operador de Autor (OperadorAutor) |
|||
- Vínculo entre um **usuário** e um **autor** |
|||
- Permite que um usuário opere em nome de um autor |
|||
- Um usuário pode ser operador de múltiplos autores |
|||
- Um autor pode ter múltiplos operadores |
|||
|
|||
### 2.5 Grupo "Autor" |
|||
- Grupo de permissões do Django |
|||
- Usuários deste grupo podem: |
|||
- Criar proposições |
|||
- Editar suas próprias proposições |
|||
- Enviar proposições |
|||
- Retornar proposições enviadas (cancelar envio) |
|||
- Ver proposições devolvidas |
|||
|
|||
### 2.6 Operador de Protocolo/Matéria |
|||
- Responsável por receber e processar proposições |
|||
- Pode: |
|||
- Receber proposições (via código ou lista) |
|||
- Incorporar proposições (transformar em matéria) |
|||
- Devolver proposições (com justificativa) |
|||
- Gerar protocolos |
|||
- Grupos: **Operador de Protocolo Administrativo** ou **Operador Geral** |
|||
|
|||
--- |
|||
|
|||
## 3. Estados de uma Proposição |
|||
|
|||
### 3.1 Rascunho (Não Enviada) |
|||
- **Datas**: `data_envio = NULL`, `data_recebimento = NULL`, `data_devolucao = NULL` |
|||
- **Quem vê**: Apenas o autor/operador que criou |
|||
- **Ações possíveis**: Editar, Excluir, Enviar |
|||
|
|||
### 3.2 Pendente (Enviada, aguardando recebimento) |
|||
- **Datas**: `data_envio != NULL`, `data_recebimento = NULL`, `data_devolucao = NULL` |
|||
- **Quem vê**: Autor e Operadores de Protocolo |
|||
- **URL**: `/proposicao/pendente/` |
|||
- **Ações possíveis**: |
|||
- **Autor**: Retornar (cancelar envio) |
|||
- **Operador**: Receber ou Devolver |
|||
|
|||
### 3.3 Devolvida |
|||
- **Datas**: `data_envio = NULL`, `data_recebimento = NULL`, `data_devolucao != NULL` |
|||
- **Justificativa**: Preenchida pelo operador |
|||
- **Quem vê**: Autor |
|||
- **URL**: `/proposicao/devolvida/` |
|||
- **Ações possíveis**: Autor pode corrigir e reenviar |
|||
|
|||
### 3.4 Incorporada (Recebida) |
|||
- **Datas**: `data_envio != NULL`, `data_recebimento != NULL`, `data_devolucao = NULL` |
|||
- **Vinculação**: Vinculada a uma Matéria Legislativa ou Documento Acessório |
|||
- **Quem vê**: Todos com permissão |
|||
- **URL**: `/proposicao/recebida/` |
|||
- **Resultado**: Matéria Legislativa criada |
|||
|
|||
--- |
|||
|
|||
## 4. Fluxo Completo Passo a Passo |
|||
|
|||
### ETAPA 1: Criar Parlamentar com Usuário |
|||
|
|||
#### 1.1 Criar o Parlamentar |
|||
1. **URL**: `/parlamentar/create` |
|||
2. **Quem pode**: Administradores ou Operadores com permissão |
|||
3. **Dados principais**: |
|||
- Nome Completo |
|||
- Nome Parlamentar |
|||
- CPF, RG |
|||
- Sexo |
|||
- Data de nascimento |
|||
- Foto (opcional) |
|||
- Biografia (opcional) |
|||
4. **Resultado**: |
|||
- Parlamentar criado |
|||
- **Autor criado automaticamente** vinculado ao parlamentar |
|||
|
|||
#### 1.2 Criar Usuário no Sistema |
|||
1. **URL**: `/sistema/usuario/create` |
|||
2. **Dados**: |
|||
- Username (login): `joao.silva` |
|||
- Email: `joao.silva@camara.gov.br` |
|||
- Senha: Senha forte |
|||
- Nome completo: João da Silva |
|||
3. **Resultado**: Usuário criado, mas ainda sem permissões |
|||
|
|||
#### 1.3 Vincular Usuário ao Autor |
|||
1. **URL**: `/sistema/usuario/{id}/edit` |
|||
2. No campo **"Autor"**, selecione o autor do parlamentar |
|||
3. Clique em **"Salvar"** |
|||
4. **Resultado**: |
|||
- Usuário adicionado ao grupo "Autor" |
|||
- Registro **OperadorAutor** criado vinculando usuário → autor |
|||
- Usuário agora pode criar proposições em nome do parlamentar |
|||
|
|||
--- |
|||
|
|||
### ETAPA 2: Parlamentar Cria e Envia Proposição |
|||
|
|||
#### 2.1 Login como Parlamentar |
|||
- Acesse: `http://seu-sapl.com/login/` |
|||
- Username: `joao.silva` |
|||
- Senha: (senha definida) |
|||
|
|||
#### 2.2 Criar Nova Proposição |
|||
1. **URL**: `/proposicao/create` |
|||
2. **Formulário**: |
|||
|
|||
**Campos principais**: |
|||
- **Tipo de Proposição**: Projeto de Lei, Emenda, Requerimento, Moção, etc. |
|||
- **Ementa/Descrição**: Descrição resumida da proposição |
|||
- **Matéria de Vinculação** (opcional): Se for documento acessório de matéria existente |
|||
|
|||
**Opções de texto**: |
|||
- **Texto Original**: Upload de arquivo (PDF, DOC, ODT) |
|||
- **OU Texto Articulado**: Usar editor interno do sistema (artigos, parágrafos, incisos) |
|||
|
|||
3. **Ações**: |
|||
- **Salvar**: Proposição fica como rascunho |
|||
- **Salvar e Adicionar Outro**: Salva e abre formulário novo |
|||
|
|||
4. **Resultado**: |
|||
- Proposição criada com número sequencial |
|||
- Status: **Rascunho** (pode editar) |
|||
- URL de detalhes: `/proposicao/{id}/` |
|||
|
|||
#### 2.3 Editar Proposição (enquanto rascunho) |
|||
1. **URL**: `/proposicao/{id}/edit` |
|||
2. Altere qualquer campo |
|||
3. Salve novamente |
|||
4. **Importante**: Só pode editar enquanto não enviada |
|||
|
|||
#### 2.4 Enviar Proposição |
|||
1. Acesse: `/proposicao/{id}/` |
|||
2. Revise todos os dados |
|||
3. Clique em **"Enviar Proposição"** (ou `?action=send`) |
|||
4. **Confirme** o envio |
|||
|
|||
5. **O que acontece**: |
|||
- `data_envio` = timestamp atual |
|||
- `usuario_envio` = usuário logado |
|||
- Texto articulado é travado (se houver) |
|||
- **Código de recebimento** é gerado (hash) |
|||
- Número provável de matéria é estimado |
|||
- Status muda para: **Pendente** |
|||
|
|||
6. **Recibo**: |
|||
- URL: `/proposicao/recibo/{id}` |
|||
- Contém código hash para recebimento |
|||
- Pode ser impresso |
|||
- Entregar ao protocolo |
|||
|
|||
#### 2.5 Retornar Proposição (cancelar envio) |
|||
- **Quando**: Antes de ser recebida pelo protocolo |
|||
- **Como**: Acessar `/proposicao/{id}/?action=return` |
|||
- **Resultado**: |
|||
- `data_envio` = NULL |
|||
- Proposição volta ao estado de rascunho |
|||
- Pode ser editada novamente |
|||
|
|||
#### 2.6 Ver Minhas Proposições |
|||
- **URL**: `/proposicao/` |
|||
- Lista todas proposições do autor logado |
|||
- Filtra por status: Rascunho, Pendente, Devolvida, Incorporada |
|||
|
|||
--- |
|||
|
|||
### ETAPA 3: Operador Recebe e Incorpora Proposição |
|||
|
|||
#### 3.1 Login como Operador de Protocolo |
|||
- Grupos: **Operador de Protocolo Administrativo** ou **Operador Geral** |
|||
|
|||
#### 3.2 Ver Proposições Pendentes |
|||
1. **URL**: `/proposicao/pendente/` |
|||
2. **Visualização**: Lista de proposições enviadas aguardando recebimento |
|||
3. **Informações mostradas**: |
|||
- Data de envio |
|||
- Autor |
|||
- Tipo de proposição |
|||
- Ementa/Descrição |
|||
- Link para receber |
|||
|
|||
#### 3.3 Receber Proposição |
|||
|
|||
**Opção A: Via Código Hash do Recibo** |
|||
1. **URL**: `/proposicao/receber/` |
|||
2. **Inserir**: Código hash do recibo |
|||
3. **Validação**: Sistema valida se: |
|||
- Proposição existe |
|||
- Está em estado "enviada" |
|||
- Hash confere |
|||
4. **Redirecionamento**: `/proposicao/confirmar/P{hash}/{id}` |
|||
|
|||
**Opção B: Via Lista de Pendentes** |
|||
1. Acesse: `/proposicao/pendente/` |
|||
2. Clique na proposição desejada |
|||
3. Clique em **"Receber Proposição"** |
|||
4. Redirecionamento para tela de confirmação |
|||
|
|||
#### 3.4 Tela de Confirmação/Incorporação |
|||
|
|||
**URL**: `/proposicao/confirmar/P{hash}/{id}` |
|||
|
|||
**Apresenta duas opções:** |
|||
|
|||
--- |
|||
|
|||
##### OPÇÃO A: INCORPORAR |
|||
|
|||
**Formulário de Incorporação**: |
|||
|
|||
1. **Dados da Proposição** (somente leitura): |
|||
- Tipo de proposição |
|||
- Data de envio |
|||
- Autor |
|||
- Ementa |
|||
- Texto/Arquivo |
|||
|
|||
2. **Configurações de Incorporação**: |
|||
|
|||
**Se for Matéria Legislativa** (Projeto de Lei, Emenda, etc.): |
|||
- **Regime de Tramitação**: Obrigatório |
|||
- Urgente |
|||
- Normal |
|||
- Prioridade |
|||
- **Gerar Protocolo?**: Sim/Não (se configuração permitir escolha) |
|||
- **Número de Páginas**: Se gerar protocolo |
|||
- **Observação do Protocolo**: Texto livre |
|||
|
|||
**Se for Documento Acessório**: |
|||
- Vinculação a matéria existente |
|||
- Tipo de documento |
|||
|
|||
3. **Matéria de Vinculação** (opcional): |
|||
- Se a proposição deve ser anexada a matéria existente |
|||
- Pesquisa por tipo, número e ano |
|||
- Sistema mostra ementa para confirmar |
|||
|
|||
4. **Ao clicar em "Incorporar"**: |
|||
|
|||
**Sistema cria**: |
|||
- **MateriaLegislativa** com: |
|||
- Tipo (baseado no tipo da proposição) |
|||
- Número sequencial |
|||
- Ano atual |
|||
- Ementa da proposição |
|||
- Regime de tramitação selecionado |
|||
- Texto original copiado |
|||
|
|||
- **Autoria** automática: |
|||
- Autor da proposição → Autor da matéria |
|||
- Marcado como primeiro autor |
|||
|
|||
- **Protocolo** (se configurado): |
|||
- Número sequencial |
|||
- Data de recebimento |
|||
- Tipo: Matéria Legislativa |
|||
- Número de páginas |
|||
|
|||
**Atualiza Proposição**: |
|||
- `data_recebimento` = timestamp atual |
|||
- `usuario_recebimento` = operador logado |
|||
- Vincula à matéria criada |
|||
- Status: **Incorporada** |
|||
|
|||
**Histórico**: |
|||
- Registro em **HistoricoProposicao** com status 'R' (Recebida) |
|||
|
|||
5. **Resultado**: |
|||
- Mensagem de sucesso |
|||
- Link para a matéria criada |
|||
- Matéria pode ser acessada em `/materia/{id}/` |
|||
|
|||
--- |
|||
|
|||
##### OPÇÃO B: DEVOLVER |
|||
|
|||
**Formulário de Devolução**: |
|||
|
|||
1. **Campo obrigatório**: |
|||
- **Justificativa de Devolução**: Texto explicando motivo |
|||
- Exemplos: |
|||
- "Falta fundamentação legal" |
|||
- "Documento em formato incorreto" |
|||
- "Proposição duplicada" |
|||
- "Necessita correção de redação" |
|||
|
|||
2. **Ao clicar em "Devolver"**: |
|||
|
|||
**Atualiza Proposição**: |
|||
- `data_devolucao` = timestamp atual |
|||
- `usuario_devolucao` = operador logado |
|||
- `justificativa_devolucao` = texto informado |
|||
- `data_envio` = NULL |
|||
- `data_recebimento` = NULL |
|||
- Status: **Devolvida** |
|||
|
|||
**Histórico**: |
|||
- Registro em **HistoricoProposicao** com status 'D' (Devolvida) |
|||
|
|||
3. **Resultado**: |
|||
- Proposição volta para o autor |
|||
- Autor pode visualizar em `/proposicao/devolvida/` |
|||
- Autor pode corrigir e reenviar |
|||
|
|||
--- |
|||
|
|||
### ETAPA 4: Matéria Tramita e Vai para Votação |
|||
|
|||
#### 4.1 Matéria Incorporada |
|||
- **URL de listagem**: `/materia/` ou `/materia/pesquisar-materia` |
|||
- **URL de detalhes**: `/materia/{id}/` |
|||
- **Informações**: |
|||
- Tipo, Número, Ano |
|||
- Ementa |
|||
- Autores (incluindo autor da proposição original) |
|||
- Regime de tramitação |
|||
- Status atual |
|||
- Protocolo (se gerado) |
|||
- Texto original |
|||
- Link para proposição original |
|||
|
|||
#### 4.2 Despacho Inicial |
|||
1. **URL**: `/materia/{id}/despachoinicial/create` |
|||
2. **Dados**: |
|||
- Comissão que receberá |
|||
- Prazo de análise |
|||
3. **Resultado**: Matéria despachada para comissão |
|||
|
|||
#### 4.3 Primeira Tramitação |
|||
1. **URL**: `/materia/{id}/tramitacao/create` |
|||
2. **Dados**: |
|||
- Unidade de origem (Protocolo) |
|||
- Unidade de destino (ex: Comissão de Justiça) |
|||
- Data de tramitação |
|||
- Status de tramitação (ex: "Em análise") |
|||
- Urgente? Sim/Não |
|||
- Turno (1º, 2º, Único) |
|||
- Texto da ação |
|||
3. **Resultado**: Matéria tramitada para unidade |
|||
|
|||
#### 4.4 Tramitação em Lote |
|||
- **URL**: `/materia/tramitacao-em-lote` |
|||
- Permite tramitar múltiplas matérias simultaneamente |
|||
- Útil para despachar várias matérias para mesma comissão |
|||
|
|||
#### 4.5 Análise em Comissão |
|||
1. Comissão analisa matéria |
|||
2. Designa relator: `/materia/{id}/relatoria/create` |
|||
3. Relator elabora parecer |
|||
4. Comissão vota parecer |
|||
|
|||
#### 4.6 Inclusão em Sessão Plenária |
|||
1. **URL**: `/sessao/{id}/adicionar-varias-materias-ordem-dia/` |
|||
2. Seleciona matérias para ordem do dia |
|||
3. Define ordem de votação |
|||
4. **Resultado**: Matéria incluída na pauta da sessão |
|||
|
|||
#### 4.7 Votação |
|||
1. Durante sessão plenária: `/sessao/{id}/` |
|||
2. Acessa ordem do dia: `/sessao/{id}/matordemdia/` |
|||
3. **Tipos de votação**: |
|||
- **Simbólica**: `/sessao/{id}/matordemdia/votsimb/{ordem}/{materia}` |
|||
- **Nominal**: `/sessao/{id}/matordemdia/votnom/{ordem}/{materia}` |
|||
- **Secreta**: `/sessao/{id}/matordemdia/votsec/{ordem}/{materia}` |
|||
|
|||
4. **Resultados possíveis**: |
|||
- Aprovada |
|||
- Rejeitada |
|||
- Aprovada com emendas |
|||
- Retirada de pauta |
|||
- Adiada |
|||
|
|||
#### 4.8 Criação de Norma Jurídica |
|||
- Se matéria aprovada e sancionada |
|||
- **URL**: `/norma/create` |
|||
- Vincula à matéria legislativa original |
|||
- Gera Lei, Decreto, Resolução, etc. |
|||
|
|||
--- |
|||
|
|||
## 5. URLs e Telas Importantes |
|||
|
|||
### 5.1 URLs de Proposição (Para Autores/Parlamentares) |
|||
|
|||
| Ação | URL | Descrição | |
|||
|------|-----|-----------| |
|||
| Listar minhas proposições | `/proposicao/` | Lista todas proposições do autor logado | |
|||
| Criar proposição | `/proposicao/create` | Formulário de nova proposição | |
|||
| Ver detalhes | `/proposicao/{id}/` | Detalhes e ações disponíveis | |
|||
| Editar proposição | `/proposicao/{id}/edit` | Editar proposição não enviada | |
|||
| Excluir proposição | `/proposicao/{id}/delete` | Excluir proposição não enviada | |
|||
| Enviar proposição | `/proposicao/{id}/?action=send` | Enviar para protocolo | |
|||
| Retornar proposição | `/proposicao/{id}/?action=return` | Cancelar envio | |
|||
| Recibo | `/proposicao/recibo/{id}` | Imprimir recibo com código | |
|||
| Devolvidas | `/proposicao/devolvida/` | Proposições devolvidas pelo protocolo | |
|||
|
|||
### 5.2 URLs de Proposição (Para Operadores de Protocolo) |
|||
|
|||
| Ação | URL | Descrição | |
|||
|------|-----|-----------| |
|||
| Receber proposição | `/proposicao/receber/` | Inserir código do recibo | |
|||
| Confirmar/Incorporar | `/proposicao/confirmar/P{hash}/{id}` | Tela de incorporação ou devolução | |
|||
| Pendentes | `/proposicao/pendente/` | Proposições aguardando recebimento | |
|||
| Recebidas/Incorporadas | `/proposicao/recebida/` | Proposições já incorporadas | |
|||
|
|||
### 5.3 URLs de Matéria Legislativa |
|||
|
|||
| Ação | URL | Descrição | |
|||
|------|-----|-----------| |
|||
| Listar matérias | `/materia/` | Lista todas matérias | |
|||
| Pesquisar matéria | `/materia/pesquisar-materia` | Pesquisa avançada | |
|||
| Ver detalhes | `/materia/{id}/` | Detalhes completos da matéria | |
|||
| Editar matéria | `/materia/{id}/edit` | Editar dados da matéria | |
|||
| Adicionar tramitação | `/materia/{id}/tramitacao/create` | Nova tramitação | |
|||
| Tramitação em lote | `/materia/tramitacao-em-lote` | Tramitar várias matérias | |
|||
| Despacho inicial | `/materia/{id}/despachoinicial/create` | Despachar para comissão | |
|||
| Adicionar autoria | `/materia/{id}/autoria/create` | Adicionar mais autores | |
|||
| Documento acessório | `/materia/{id}/documentoacessorio/create` | Anexar documento | |
|||
| Relatoria | `/materia/{id}/relatoria/create` | Designar relator | |
|||
|
|||
### 5.4 URLs de Configuração |
|||
|
|||
| Ação | URL | Descrição | |
|||
|------|-----|-----------| |
|||
| Tipos de Proposição | `/sistema/materia/tipoproposicao/` | Configurar tipos de proposição | |
|||
| Tipos de Matéria | `/sistema/materia/tipo/` | Configurar tipos de matéria | |
|||
| Regime de Tramitação | `/sistema/materia/regimetramitacao/` | Configurar regimes | |
|||
| Tipos de Autor | `/sistema/base/tipoautor/` | Configurar tipos de autor | |
|||
| Autores | `/sistema/base/autor/` | Gerenciar autores | |
|||
| Parlamentares | `/parlamentar/` | Gerenciar parlamentares | |
|||
| Usuários | `/sistema/usuario/` | Gerenciar usuários do sistema | |
|||
| Vincular Operador | `/sistema/base/autor/{id}/operadorautor/` | Vincular usuário a autor | |
|||
| Configurações App | `/sistema/app-config/1/edit` | Configurações gerais do sistema | |
|||
|
|||
--- |
|||
|
|||
## 6. Configurações do Sistema (AppConfig) |
|||
|
|||
### 6.1 Configurações de Proposição |
|||
|
|||
Acessadas em: `/sistema/app-config/1/edit` |
|||
|
|||
#### **Sequência de Numeração de Proposição** |
|||
- **'A'**: Sequencial por ano para cada autor |
|||
- Autor 1: Proposição 1/2025, 2/2025, 3/2025... |
|||
- Autor 2: Proposição 1/2025, 2/2025, 3/2025... |
|||
- **'B'**: Sequencial por ano independente do autor |
|||
- Todos autores: Proposição 1/2025, 2/2025, 3/2025... |
|||
|
|||
#### **Receber Recibo de Proposição** |
|||
- **True**: Protocolo DEVE usar código do recibo para receber |
|||
- **False**: Protocolo pode receber direto da lista de pendentes |
|||
|
|||
#### **Proposição - Incorporação Obrigatória** |
|||
- **'O'**: Sempre gerar protocolo ao incorporar |
|||
- **'C'**: Perguntar se quer gerar protocolo (Operador escolhe) |
|||
- **'N'**: Nunca gerar protocolo ao incorporar |
|||
|
|||
#### **Escolher Número da Matéria** |
|||
- **True**: Autor pode sugerir número da matéria |
|||
- **False**: Número atribuído automaticamente pelo sistema |
|||
|
|||
--- |
|||
|
|||
## 7. Permissões e Grupos |
|||
|
|||
### 7.1 Grupo "Autor" |
|||
|
|||
**Permissões**: |
|||
- `materia.list_proposicao`: Listar proposições |
|||
- `materia.detail_proposicao`: Ver detalhes de proposição |
|||
- `materia.add_proposicao`: Criar proposição |
|||
- `materia.change_proposicao`: Editar proposição |
|||
- `materia.delete_proposicao`: Excluir proposição |
|||
- `materia.list_historicoproposicao`: Ver histórico |
|||
- `materia.detail_historicoproposicao`: Ver detalhes do histórico |
|||
|
|||
**Restrições**: |
|||
- Só pode ver/editar suas próprias proposições |
|||
- Não pode ver proposições de outros autores |
|||
- Não pode incorporar proposições |
|||
|
|||
### 7.2 Grupo "Operador de Protocolo Administrativo" |
|||
|
|||
**Permissões**: |
|||
- `materia.detail_proposicao_enviada`: Ver proposições pendentes |
|||
- `materia.detail_proposicao_devolvida`: Ver proposições devolvidas |
|||
- `materia.detail_proposicao_incorporada`: Ver proposições incorporadas |
|||
- `protocoloadm.add_protocolo`: Criar protocolos |
|||
- `protocoloadm.change_protocolo`: Editar protocolos |
|||
- `materia.add_materialegislativa`: Criar matérias (ao incorporar) |
|||
|
|||
**Ações permitidas**: |
|||
- Receber proposições |
|||
- Incorporar proposições (criar matérias) |
|||
- Devolver proposições |
|||
- Gerar protocolos |
|||
|
|||
### 7.3 Grupo "Operador de Matéria" |
|||
|
|||
**Permissões**: |
|||
- CRUD completo em matérias legislativas |
|||
- Tramitação de matérias |
|||
- Documentos acessórios |
|||
- Relatorias |
|||
- Despachos |
|||
|
|||
--- |
|||
|
|||
## 8. Exemplos Práticos |
|||
|
|||
### 8.1 Criar Parlamentar com Usuário |
|||
|
|||
**Passo 1: Criar Parlamentar** |
|||
1. Acesse: `http://seu-sapl.com/parlamentar/create` |
|||
2. Preencha: |
|||
- Nome Completo: "João da Silva" |
|||
- Nome Parlamentar: "João Silva" |
|||
- Sexo: Masculino |
|||
- CPF: 123.456.789-00 |
|||
- Data Nascimento: 01/01/1980 |
|||
3. Salve |
|||
4. **Resultado**: Parlamentar criado + Autor criado automaticamente |
|||
|
|||
**Passo 2: Verificar Autor** |
|||
1. Acesse: `http://seu-sapl.com/sistema/base/autor/` |
|||
2. Localize: "João da Silva" (tipo: Parlamentar) |
|||
3. Anote o ID (ex: 25) |
|||
|
|||
**Passo 3: Criar Usuário** |
|||
1. Acesse: `http://seu-sapl.com/sistema/usuario/create` |
|||
2. Preencha: |
|||
- Username: `joao.silva` |
|||
- Email: `joao.silva@camara.gov.br` |
|||
- Nome: "João da Silva" |
|||
- Senha: `Senha@Forte123` |
|||
3. Salve |
|||
|
|||
**Passo 4: Vincular Usuário ao Autor** |
|||
1. Acesse: `http://seu-sapl.com/sistema/usuario/{id_usuario}/edit` |
|||
2. No campo **"Autor"**, selecione: "João da Silva" |
|||
3. Salve |
|||
4. **Resultado**: |
|||
- Usuário no grupo "Autor" |
|||
- OperadorAutor criado |
|||
- Pode criar proposições |
|||
|
|||
--- |
|||
|
|||
### 8.2 Criar e Enviar Proposição |
|||
|
|||
**Passo 1: Login** |
|||
1. Login: `joao.silva` / `Senha@Forte123` |
|||
|
|||
**Passo 2: Criar Proposição** |
|||
1. Acesse: `http://seu-sapl.com/proposicao/create` |
|||
2. Preencha: |
|||
- **Tipo**: Projeto de Lei |
|||
- **Ementa**: "Dispõe sobre horário de funcionamento do comércio aos domingos" |
|||
- **Texto Original**: Upload arquivo `projeto_lei_comercio.pdf` |
|||
3. Clique em **"Salvar"** |
|||
|
|||
**Passo 3: Revisar** |
|||
1. Sistema redireciona para `/proposicao/{id}/` |
|||
2. Revise todos os dados |
|||
3. Se necessário, clique em **"Editar"** e corrija |
|||
|
|||
**Passo 4: Enviar** |
|||
1. Clique em **"Enviar Proposição"** |
|||
2. Confirme |
|||
3. **Código gerado**: `P9a8b7c6d5e4f3g2h1i0_separador_123` |
|||
|
|||
**Passo 5: Imprimir Recibo** |
|||
1. Acesse: `http://seu-sapl.com/proposicao/recibo/{id}` |
|||
2. Imprima ou salve PDF |
|||
3. Entregue ao protocolo |
|||
|
|||
--- |
|||
|
|||
### 8.3 Receber e Incorporar (Operador) |
|||
|
|||
**Passo 1: Login como Operador** |
|||
- Login: `operador_protocoloadm` / `interlegis` |
|||
|
|||
**Passo 2: Ver Pendentes** |
|||
1. Acesse: `http://seu-sapl.com/proposicao/pendente/` |
|||
2. Veja lista de proposições enviadas |
|||
|
|||
**Passo 3: Receber via Código** |
|||
1. Acesse: `http://seu-sapl.com/proposicao/receber/` |
|||
2. Cole código: `P9a8b7c6d5e4f3g2h1i0_separador_123` |
|||
3. Clique em **"Receber"** |
|||
|
|||
**Passo 4: Incorporar** |
|||
1. Na tela de confirmação: |
|||
- **Regime de Tramitação**: Normal |
|||
- **Gerar Protocolo**: Sim |
|||
- **Número de Páginas**: 3 |
|||
- **Observação**: "Proposição recebida via protocolo digital" |
|||
2. Clique em **"Incorporar"** |
|||
|
|||
**Passo 5: Resultado** |
|||
- **Matéria criada**: PL nº 1/2025 |
|||
- **Protocolo gerado**: Protocolo nº 150/2025 |
|||
- **Autoria**: João da Silva (primeiro autor) |
|||
- **Status**: Incorporada |
|||
- **Link**: `http://seu-sapl.com/materia/{id}/` |
|||
|
|||
**Passo 6: Acessar Matéria** |
|||
1. Clique no link da matéria |
|||
2. Veja todos dados |
|||
3. Pode iniciar tramitação |
|||
|
|||
--- |
|||
|
|||
### 8.4 Devolver Proposição |
|||
|
|||
**Passo 1: Receber Proposição** |
|||
1. Login como operador |
|||
2. Acesse: `http://seu-sapl.com/proposicao/receber/` |
|||
3. Insira código ou selecione da lista |
|||
|
|||
**Passo 2: Devolver** |
|||
1. Na tela de confirmação |
|||
2. Clique em **"Devolver"** |
|||
3. **Justificativa**: "Documento apresentado em formato incorreto. Favor enviar em PDF/A conforme Resolução 123/2024" |
|||
4. Clique em **"Devolver"** |
|||
|
|||
**Passo 3: Resultado** |
|||
- Proposição volta para autor |
|||
- Status: **Devolvida** |
|||
- Autor vê em `/proposicao/devolvida/` |
|||
|
|||
**Passo 4: Autor Corrige** |
|||
1. Login como autor |
|||
2. Acesse: `http://seu-sapl.com/proposicao/devolvida/` |
|||
3. Vê proposição e justificativa |
|||
4. Clica em **"Editar"** |
|||
5. Corrige formato do arquivo |
|||
6. Salva |
|||
7. **Envia novamente** |
|||
|
|||
--- |
|||
|
|||
## 9. Troubleshooting (Problemas Comuns) |
|||
|
|||
### 9.1 "Usuário não consegue criar proposições" |
|||
|
|||
**Causa**: Usuário não está vinculado a um Autor |
|||
|
|||
**Solução**: |
|||
1. Verifique se usuário está no grupo "Autor": `/sistema/usuario/{id}/edit` |
|||
2. Verifique se existe OperadorAutor: `/sistema/base/autor/{id_autor}/operadorautor/` |
|||
3. Se não existe, crie o vínculo |
|||
|
|||
### 9.2 "Proposição não aparece para receber" |
|||
|
|||
**Causa**: Proposição não foi enviada |
|||
|
|||
**Solução**: |
|||
1. Autor deve acessar `/proposicao/{id}/` |
|||
2. Clicar em "Enviar Proposição" |
|||
3. Verificar se `data_envio` está preenchida |
|||
|
|||
### 9.3 "Erro ao incorporar proposição" |
|||
|
|||
**Causas possíveis**: |
|||
- Regime de tramitação não selecionado (obrigatório) |
|||
- Tipo de proposição não vinculado a tipo de matéria |
|||
|
|||
**Solução**: |
|||
1. Acesse: `/sistema/materia/tipoproposicao/` |
|||
2. Edite o tipo de proposição |
|||
3. Verifique campo **"Tipo Correspondente"** |
|||
4. Deve apontar para um tipo de matéria (ex: Projeto de Lei) |
|||
|
|||
### 9.4 "Parlamentar criado mas não aparece como autor" |
|||
|
|||
**Causa**: Falha na criação automática do autor |
|||
|
|||
**Solução**: |
|||
1. Acesse: `/sistema/base/autor/create` |
|||
2. Crie manualmente: |
|||
- **Tipo**: Parlamentar |
|||
- **Parlamentar**: Selecione o parlamentar |
|||
- **Nome**: Nome do parlamentar |
|||
3. Salve |
|||
|
|||
### 9.5 "Não consigo retornar proposição enviada" |
|||
|
|||
**Causa**: Proposição já foi recebida pelo protocolo |
|||
|
|||
**Solução**: |
|||
- Após recebimento, proposição não pode ser retornada |
|||
- Se necessário correção, operador deve **devolver** com justificativa |
|||
- Autor corrige e reenvia |
|||
|
|||
### 9.6 "Código de recebimento inválido" |
|||
|
|||
**Causa**: Código digitado incorretamente ou proposição já recebida |
|||
|
|||
**Solução**: |
|||
1. Verifique se código foi copiado corretamente (copiar do recibo) |
|||
2. Verifique se proposição já está em `/proposicao/recebida/` |
|||
3. Se problema persistir, use lista de pendentes |
|||
|
|||
--- |
|||
|
|||
## 10. Diagrama de Fluxo |
|||
|
|||
``` |
|||
┌─────────────────────────────────────────────────────────────────┐ |
|||
│ FLUXO DE PROPOSIÇÕES │ |
|||
└─────────────────────────────────────────────────────────────────┘ |
|||
|
|||
┌──────────────┐ |
|||
│ PARLAMENTAR │ |
|||
└──────┬───────┘ |
|||
│ |
|||
│ 1. Cria Proposição |
|||
│ /proposicao/create |
|||
▼ |
|||
┌──────────────┐ |
|||
│ PROPOSIÇÃO │ |
|||
│ (Rascunho) │ |
|||
└──────┬───────┘ |
|||
│ |
|||
│ 2. Envia Proposição |
|||
│ ?action=send |
|||
▼ |
|||
┌──────────────┐ |
|||
│ PROPOSIÇÃO │◄──────────┐ |
|||
│ (Pendente) │ │ 5. Retorna (cancela) |
|||
└──────┬───────┘ │ ?action=return |
|||
│ │ |
|||
│ 3. Recebe │ |
|||
│ /proposicao/receber/ |
|||
▼ │ |
|||
┌──────────────┐ │ |
|||
│ OPERADOR │───────────┘ |
|||
│ PROTOCOLO │ |
|||
└──────┬───────┘ |
|||
│ |
|||
│ 4. Decide |
|||
│ |
|||
┌───┴───┐ |
|||
│ │ |
|||
│ │ |
|||
▼ ▼ |
|||
┌──────┐ ┌──────┐ |
|||
│INCOR-│ │DEVOL-│ |
|||
│PORAR │ │VER │ |
|||
└───┬──┘ └───┬──┘ |
|||
│ │ |
|||
│ │ 6. Justifica |
|||
│ │ Volta para autor |
|||
│ ▼ |
|||
│ ┌──────────────┐ |
|||
│ │ PROPOSIÇÃO │ |
|||
│ │ (Devolvida) │ |
|||
│ └──────────────┘ |
|||
│ │ |
|||
│ │ 7. Corrige e reenvia |
|||
│ │ |
|||
│ 8. Cria Matéria |
|||
│ Cria Autoria |
|||
│ Gera Protocolo |
|||
▼ |
|||
┌──────────────┐ |
|||
│ MATÉRIA │ |
|||
│ LEGISLATIVA │ |
|||
└──────┬───────┘ |
|||
│ |
|||
│ 9. Tramita |
|||
▼ |
|||
┌──────────────┐ |
|||
│ COMISSÕES │ |
|||
│ PARECERES │ |
|||
└──────┬───────┘ |
|||
│ |
|||
│ 10. Inclui em Sessão |
|||
▼ |
|||
┌──────────────┐ |
|||
│ SESSÃO │ |
|||
│ PLENÁRIA │ |
|||
└──────┬───────┘ |
|||
│ |
|||
│ 11. Vota |
|||
▼ |
|||
┌──────────────┐ |
|||
│ RESULTADO │ |
|||
│ (Aprovada/ │ |
|||
│ Rejeitada) │ |
|||
└──────────────┘ |
|||
``` |
|||
|
|||
--- |
|||
|
|||
## 11. Checklist de Configuração Inicial |
|||
|
|||
Antes de usar o fluxo de proposições, configure: |
|||
|
|||
- [ ] **Casa Legislativa**: `/sistema/casa-legislativa/` |
|||
- [ ] **Legislatura**: `/sistema/parlamentar/legislatura/` |
|||
- [ ] **Partidos**: `/sistema/parlamentar/partido/` |
|||
- [ ] **Tipos de Proposição**: `/sistema/materia/tipoproposicao/` |
|||
- [ ] Vincular cada tipo a um "Tipo Correspondente" (tipo de matéria) |
|||
- [ ] **Tipos de Matéria**: `/sistema/materia/tipo/` |
|||
- [ ] **Regimes de Tramitação**: `/sistema/materia/regimetramitacao/` |
|||
- [ ] **Tipos de Autor**: `/sistema/base/tipoautor/` |
|||
- [ ] **Unidades de Tramitação**: `/sistema/materia/unidadetramitacao/` |
|||
- [ ] **Configurações App**: `/sistema/app-config/1/edit` |
|||
- [ ] Sequência numeração proposição |
|||
- [ ] Receber recibo obrigatório? |
|||
- [ ] Gerar protocolo obrigatório? |
|||
- [ ] **Parlamentares**: `/parlamentar/create` |
|||
- [ ] **Usuários**: `/sistema/usuario/create` |
|||
- [ ] **Vincular Usuários a Autores**: `/sistema/usuario/{id}/edit` |
|||
|
|||
--- |
|||
|
|||
## 12. Resumo Executivo |
|||
|
|||
### Para o Parlamentar/Autor: |
|||
1. ✍️ **Crie** sua proposição com ementa e texto |
|||
2. 📝 **Revise** quantas vezes precisar (enquanto não enviar) |
|||
3. 📤 **Envie** quando estiver pronta |
|||
4. 🎫 **Guarde** o código de recebimento |
|||
5. ⏳ **Aguarde** o protocolo processar |
|||
6. 🔄 Se **devolvida**, corrija e reenvie |
|||
|
|||
### Para o Operador de Protocolo: |
|||
1. 📥 **Receba** proposições via código ou lista |
|||
2. 🔍 **Analise** se está correta |
|||
3. ✅ **Incorpore** gerando matéria OU |
|||
4. ❌ **Devolva** com justificativa |
|||
5. ⚙️ **Configure** regime, protocolo, etc. |
|||
|
|||
### Para o Operador de Matéria: |
|||
1. 📋 **Tramite** matérias entre unidades |
|||
2. 👥 **Despache** para comissões |
|||
3. 📅 **Inclua** em sessões plenárias |
|||
4. 🗳️ **Registre** votações |
|||
5. 📜 **Gere** normas jurídicas (se aprovadas) |
|||
|
|||
--- |
|||
|
|||
**Documento criado em**: 2025-10-02 |
|||
**Versão SAPL**: 3.1.164-RC5 |
|||
@ -0,0 +1,684 @@ |
|||
# SAPL - Sistema de Apoio ao Processo Legislativo |
|||
|
|||
## Visão Geral |
|||
|
|||
O **SAPL** é um sistema web completo para gerenciamento de processos legislativos em casas legislativas municipais, estaduais e federais. Desenvolvido pelo Interlegis (Senado Federal), o sistema abrange todo o ciclo de vida legislativo, desde o cadastro de parlamentares até a votação e publicação de normas jurídicas. |
|||
|
|||
**Versão Atual**: 3.1.164-RC5 |
|||
|
|||
--- |
|||
|
|||
## Arquitetura e Tecnologias |
|||
|
|||
### Backend |
|||
- **Framework**: Django 2.2 (Python) |
|||
- **Banco de Dados**: PostgreSQL 10.5 |
|||
- **Busca Textual**: Apache Solr 8.11 |
|||
- **API REST**: Django REST Framework com DRF Spectacular (OpenAPI) |
|||
- **Autenticação**: Token-based + Session Authentication |
|||
|
|||
### Frontend |
|||
- **Framework JavaScript**: Vue.js 2.7.9 |
|||
- **UI Framework**: Bootstrap 4.6.2 com Bootstrap-Vue |
|||
- **Editor de Texto**: TinyMCE 7.2 |
|||
- **Build Tool**: Webpack 5 com Vue CLI 5 |
|||
- **Utilitários**: jQuery 3.6, Axios, Moment.js, Lodash |
|||
|
|||
### Infraestrutura |
|||
- **Containerização**: Docker + Docker Compose |
|||
- **Servidor Web**: Nginx + Gunicorn |
|||
- **Monitoramento**: Django Prometheus |
|||
- **Cache**: File-based Cache |
|||
|
|||
### Estrutura de Containers |
|||
```yaml |
|||
- sapldb (PostgreSQL) -> Porta 5433 |
|||
- saplsolr (Solr) -> Porta 8983 |
|||
- sapl (Aplicação) -> Porta 8000 |
|||
``` |
|||
|
|||
--- |
|||
|
|||
## Módulos Principais |
|||
|
|||
O SAPL está organizado em 9 módulos principais: |
|||
|
|||
### 1. **Base** (`sapl.base`) |
|||
- Configurações gerais do sistema |
|||
- Gestão de usuários e permissões |
|||
- Casa legislativa |
|||
- Autores (pessoas e entidades que podem propor matérias) |
|||
- Pesquisa textual |
|||
- Auditoria |
|||
|
|||
### 2. **Parlamentares** (`sapl.parlamentares`) |
|||
- Cadastro de parlamentares |
|||
- Legislaturas e sessões legislativas |
|||
- Partidos políticos e coligações |
|||
- Mandatos e filiações partidárias |
|||
- Mesa diretora |
|||
- Frentes parlamentares e blocos |
|||
- Dependentes |
|||
|
|||
### 3. **Matéria Legislativa** (`sapl.materia`) |
|||
- Proposições (antes de serem protocoladas) |
|||
- Matérias legislativas (projetos de lei, emendas, requerimentos, etc.) |
|||
- Tramitação de matérias |
|||
- Autoria e relatoria |
|||
- Documentos acessórios |
|||
- Acompanhamento de matérias |
|||
|
|||
### 4. **Sessão Plenária** (`sapl.sessao`) |
|||
- Sessões ordinárias e extraordinárias |
|||
- Composição da mesa |
|||
- Presença de parlamentares |
|||
- Expediente e ordem do dia |
|||
- Oradores e pronunciamentos |
|||
- Votações (nominal, simbólica, secreta, em bloco) |
|||
- Atas e resumos |
|||
|
|||
### 5. **Norma Jurídica** (`sapl.norma`) |
|||
- Normas aprovadas (leis, decretos, resoluções, etc.) |
|||
- Vinculação entre normas |
|||
- Autoria de normas |
|||
- Anexos e documentos relacionados |
|||
|
|||
### 6. **Comissões** (`sapl.comissoes`) |
|||
- Comissões permanentes e temporárias |
|||
- Composição de comissões |
|||
- Reuniões de comissão |
|||
- Pauta de reuniões |
|||
- Matérias em tramitação nas comissões |
|||
|
|||
### 7. **Protocolo Administrativo** (`sapl.protocoloadm`) |
|||
- Documentos administrativos |
|||
- Protocolo de documentos |
|||
- Tramitação administrativa |
|||
|
|||
### 8. **Audiências Públicas** (`sapl.audiencia`) |
|||
- Gestão de audiências públicas |
|||
- Anexos e documentação |
|||
|
|||
### 9. **Compilação** (`sapl.compilacao`) |
|||
- Textos articulados (compilação de normas) |
|||
- Perfis estruturais |
|||
- Versionamento de textos normativos |
|||
|
|||
--- |
|||
|
|||
## Como Usar o Sistema: Fluxos Principais |
|||
|
|||
### 1. Cadastro de Parlamentares |
|||
|
|||
**Objetivo**: Registrar os parlamentares que compõem a casa legislativa |
|||
|
|||
**Fluxo**: |
|||
``` |
|||
1. Acesse: /parlamentar/create |
|||
2. Preencha os dados pessoais (nome, CPF, data de nascimento, etc.) |
|||
3. Após salvar, adicione: |
|||
- Filiação partidária: /parlamentar/<id>/filiacao/create |
|||
- Mandato: /parlamentar/<id>/mandato/create |
|||
- Dependentes (opcional): /parlamentar/<id>/dependente/create |
|||
4. Visualize: /parlamentar/<id>/ |
|||
``` |
|||
|
|||
**Telas Relacionadas**: |
|||
- Listar parlamentares: `/parlamentar/` |
|||
- Pesquisar: `/parlamentar/pesquisar-parlamentar/` |
|||
- Matérias do parlamentar: `/parlamentar/<id>/materias` |
|||
|
|||
--- |
|||
|
|||
### 2. Criação de Matéria Legislativa |
|||
|
|||
**Objetivo**: Protocolar e tramitar projetos de lei e outros documentos legislativos |
|||
|
|||
**Fluxo**: |
|||
``` |
|||
1. Acesse: /materia/create |
|||
2. Preencha: |
|||
- Tipo de matéria (Projeto de Lei, Emenda, Requerimento, etc.) |
|||
- Número e ano |
|||
- Data de apresentação |
|||
- Ementa (resumo do conteúdo) |
|||
- Texto integral (arquivo ou texto articulado) |
|||
3. Adicione a autoria: /materia/<id>/autoria/create |
|||
4. Faça o despacho inicial: /materia/<id>/despachoinicial/create |
|||
5. Registre a tramitação: /materia/<id>/tramitacao/create |
|||
6. Anexe documentos: /materia/<id>/documentoacessorio/create |
|||
7. Visualize: /materia/<id>/ |
|||
``` |
|||
|
|||
**Telas Relacionadas**: |
|||
- Listar matérias: `/materia/` |
|||
- Pesquisar: `/materia/pesquisar-materia` |
|||
- Tramitação em lote: `/materia/tramitacao-em-lote` |
|||
- Acompanhar matéria: `/materia/<id>/acompanhar-materia/` |
|||
|
|||
--- |
|||
|
|||
### 3. Realização de Sessão Plenária |
|||
|
|||
**Objetivo**: Registrar sessões ordinárias/extraordinárias e realizar votações |
|||
|
|||
**Fluxo**: |
|||
``` |
|||
1. Acesse: /sessao/create |
|||
2. Preencha: |
|||
- Tipo de sessão |
|||
- Número |
|||
- Legislatura |
|||
- Data e hora |
|||
3. Configure a mesa diretora: /sessao/<id>/mesa |
|||
4. Registre a presença: /sessao/<id>/presenca |
|||
5. Adicione matérias ao expediente: /sessao/<id>/adicionar-varias-materias-expediente/ |
|||
6. Adicione matérias à ordem do dia: /sessao/<id>/adicionar-varias-materias-ordem-dia/ |
|||
7. Registre oradores: /sessao/<id>/orador/create |
|||
8. Realize votações: |
|||
- Votação nominal: /sessao/<id>/matordemdia/votnom/<ordem>/<materia> |
|||
- Votação simbólica: /sessao/<id>/matordemdia/votsimb/<ordem>/<materia> |
|||
- Votação secreta: /sessao/<id>/matordemdia/votsec/<ordem>/<materia> |
|||
9. Gere o resumo/ata: /sessao/<id>/resumo |
|||
10. Visualize: /sessao/<id>/ |
|||
``` |
|||
|
|||
**Telas Relacionadas**: |
|||
- Listar sessões: `/sessao/` |
|||
- Pauta da sessão: `/sessao/pauta-sessao/<id>/` |
|||
- Presença ordem do dia: `/sessao/<id>/presencaordemdia` |
|||
|
|||
--- |
|||
|
|||
### 4. Publicação de Norma Jurídica |
|||
|
|||
**Objetivo**: Registrar leis, decretos e resoluções aprovadas |
|||
|
|||
**Fluxo**: |
|||
``` |
|||
1. Acesse: /norma/create |
|||
2. Preencha: |
|||
- Tipo de norma (Lei, Decreto, Resolução, etc.) |
|||
- Número e ano |
|||
- Data de publicação |
|||
- Ementa |
|||
- Texto integral (upload de arquivo PDF ou DOC) |
|||
3. Adicione autoria: /norma/<id>/autorianorma/create |
|||
4. Vincule à matéria que originou (se aplicável) |
|||
5. Relacione com outras normas: /norma/<id>/normarelacionada/create |
|||
6. Anexe documentos: /norma/<id>/anexonormajuridica/create |
|||
7. Visualize: /norma/<id>/ |
|||
``` |
|||
|
|||
**Telas Relacionadas**: |
|||
- Listar normas: `/norma/` |
|||
- Pesquisar: `/norma/pesquisar` |
|||
|
|||
--- |
|||
|
|||
### 5. Gestão de Comissões |
|||
|
|||
**Objetivo**: Gerenciar comissões permanentes e temporárias |
|||
|
|||
**Fluxo**: |
|||
``` |
|||
1. Acesse: /comissao/create |
|||
2. Preencha: |
|||
- Nome da comissão |
|||
- Tipo (permanente/temporária) |
|||
- Período de funcionamento |
|||
3. Defina a composição: /comissao/<id>/composicao/create |
|||
- Adicione parlamentares e seus cargos (presidente, vice, etc.) |
|||
4. Agende reuniões: /comissao/<id>/reuniao/create |
|||
5. Monte a pauta: /comissao/<id>/pauta/add |
|||
6. Visualize matérias em tramitação: /comissao/<id>/materias-em-tramitacao |
|||
7. Visualize: /comissao/<id>/ |
|||
``` |
|||
|
|||
**Telas Relacionadas**: |
|||
- Listar comissões: `/comissao/` |
|||
- Tipos de comissão: `/sistema/comissao/tipo/` |
|||
|
|||
--- |
|||
|
|||
## Configurações Iniciais Necessárias |
|||
|
|||
Antes de começar a usar o sistema para criar dados, é necessário configurar: |
|||
|
|||
### 1. Casa Legislativa |
|||
- Acesse: `/sistema/casa-legislativa/` |
|||
- Configure: nome, endereço, CNPJ, logomarca, etc. |
|||
|
|||
### 2. Legislatura |
|||
- Acesse: `/sistema/parlamentar/legislatura/` |
|||
- Crie a legislatura atual (número, data início, data fim, data eleição) |
|||
|
|||
### 3. Sessão Legislativa |
|||
- Acesse: `/sistema/parlamentar/sessao-legislativa/` |
|||
- Crie sessões legislativas para a legislatura |
|||
|
|||
### 4. Partidos |
|||
- Acesse: `/sistema/parlamentar/partido/` |
|||
- Cadastre os partidos políticos |
|||
|
|||
### 5. Tipos de Matéria |
|||
- Acesse: `/sistema/materia/tipo/` |
|||
- Configure os tipos (Projeto de Lei, Emenda, Requerimento, etc.) |
|||
|
|||
### 6. Tipos de Norma |
|||
- Acesse: `/sistema/norma/tipo/` |
|||
- Configure os tipos (Lei, Decreto, Resolução, etc.) |
|||
|
|||
### 7. Tipos de Sessão |
|||
- Acesse: `/sistema/sessao/tipo/` |
|||
- Configure os tipos de sessão plenária |
|||
|
|||
### 8. Tipos de Comissão |
|||
- Acesse: `/sistema/comissao/tipo/` |
|||
- Configure os tipos de comissão |
|||
|
|||
--- |
|||
|
|||
## Estrutura de Diretórios |
|||
|
|||
``` |
|||
sapl/ |
|||
├── docker/ # Configurações Docker |
|||
│ ├── docker-compose.yaml # Orquestração de containers |
|||
│ └── Dockerfile # Imagem do SAPL |
|||
├── frontend/ # Código frontend (Vue.js) |
|||
│ ├── src/ |
|||
│ │ ├── __global/ # Estilos e componentes globais |
|||
│ │ ├── apps/ # Aplicações Vue (compilação, painel, etc.) |
|||
│ │ └── styles/ # SCSS |
|||
│ └── webpack-stats.json # Build manifest |
|||
├── sapl/ # Código backend (Django) |
|||
│ ├── api/ # API REST |
|||
│ ├── base/ # Módulo base |
|||
│ ├── parlamentares/ # Módulo parlamentares |
|||
│ ├── materia/ # Módulo matéria legislativa |
|||
│ ├── sessao/ # Módulo sessão plenária |
|||
│ ├── norma/ # Módulo norma jurídica |
|||
│ ├── comissoes/ # Módulo comissões |
|||
│ ├── protocoloadm/ # Módulo protocolo administrativo |
|||
│ ├── compilacao/ # Módulo compilação |
|||
│ ├── audiencia/ # Módulo audiências |
|||
│ ├── templates/ # Templates Django |
|||
│ ├── static/ # Arquivos estáticos |
|||
│ ├── settings.py # Configurações Django |
|||
│ └── urls.py # Rotas principais |
|||
├── README.rst # Documentação geral |
|||
└── package.json # Dependências frontend |
|||
``` |
|||
|
|||
--- |
|||
|
|||
## Ambiente de Desenvolvimento |
|||
|
|||
### Iniciar o Sistema (Docker) |
|||
|
|||
```bash |
|||
cd /home/bruno/sapl/docker |
|||
docker-compose up -d |
|||
``` |
|||
|
|||
Acessar: http://localhost:8000 |
|||
|
|||
### Credenciais Padrão |
|||
- **Usuário**: admin |
|||
- **Senha**: interlegis (configurável via `ADMIN_PASSWORD` no docker-compose.yaml) |
|||
|
|||
### Build do Frontend |
|||
|
|||
```bash |
|||
cd /home/bruno/sapl |
|||
yarn build |
|||
``` |
|||
|
|||
--- |
|||
|
|||
## API REST |
|||
|
|||
O SAPL disponibiliza uma API REST completa para integração com outros sistemas. |
|||
|
|||
- **Documentação**: http://localhost:8000/api/docs/ |
|||
- **Schema OpenAPI**: http://localhost:8000/api/schema/ |
|||
- **Autenticação**: Token-based (requer `Authorization: Token <token>`) |
|||
|
|||
### Principais Endpoints |
|||
- `/api/materia/materialegislativa/` - Matérias legislativas |
|||
- `/api/parlamentares/parlamentar/` - Parlamentares |
|||
- `/api/sessao/sessaoplenaria/` - Sessões plenárias |
|||
- `/api/norma/normajuridica/` - Normas jurídicas |
|||
- `/api/comissoes/comissao/` - Comissões |
|||
|
|||
--- |
|||
|
|||
## Recursos Especiais |
|||
|
|||
### 1. Busca Textual (Solr) |
|||
- Indexação automática de documentos |
|||
- Pesquisa full-text em matérias, normas e documentos |
|||
- Configurável via variável `USE_SOLR=True` |
|||
|
|||
### 2. Textos Articulados |
|||
- Editor de leis estruturadas (artigos, parágrafos, incisos) |
|||
- Versionamento de textos |
|||
- Comparação de versões (diff) |
|||
|
|||
### 3. Painel Eletrônico |
|||
- Exibição em tempo real de votações |
|||
- Painel de presença |
|||
- URL: `/painel/` |
|||
|
|||
### 4. Acompanhamento de Matérias |
|||
- Cidadãos podem acompanhar matérias via email |
|||
- Requer configuração de reCaptcha |
|||
|
|||
### 5. Relatórios |
|||
- Relatórios de matérias, normas, sessões |
|||
- Exportação em PDF |
|||
- URL: `/relatorios/` |
|||
|
|||
--- |
|||
|
|||
## Tipos de Usuários e Permissões |
|||
|
|||
O SAPL possui um sistema robusto de controle de acesso com **11 grupos de usuários** diferentes, cada um com permissões específicas para módulos e funcionalidades. |
|||
|
|||
### Grupos de Usuários Principais |
|||
|
|||
#### 1. **Operador Geral** (Superusuário SAPL) |
|||
**Acesso**: Todos os módulos e funcionalidades |
|||
- Configurações do sistema |
|||
- Gestão de usuários |
|||
- Todas as operações de todos os outros grupos |
|||
- Tabelas auxiliares |
|||
- Auditoria |
|||
|
|||
**Telas Principais**: |
|||
- `/sistema/` - Painel administrativo completo |
|||
- `/sistema/casa-legislativa/` - Configuração da casa |
|||
- `/sistema/usuario/` - Gestão de usuários |
|||
- Acesso total a todos os módulos |
|||
|
|||
--- |
|||
|
|||
#### 2. **Operador de Matéria** |
|||
**Acesso**: Módulo de Matéria Legislativa |
|||
- Criar, editar, excluir matérias |
|||
- Gerenciar tramitação |
|||
- Adicionar autoria e relatoria |
|||
- Documentos acessórios |
|||
- Impressos |
|||
|
|||
**Telas Principais**: |
|||
- `/materia/` - Listar matérias |
|||
- `/materia/create` - Criar matéria |
|||
- `/materia/<id>/tramitacao/` - Tramitação |
|||
- `/materia/<id>/autoria/` - Autoria |
|||
- `/materia/tramitacao-em-lote` - Tramitação em lote |
|||
|
|||
--- |
|||
|
|||
#### 3. **Operador de Sessão Plenária** |
|||
**Acesso**: Módulo de Sessão Plenária |
|||
- Criar e gerenciar sessões |
|||
- Registrar presença |
|||
- Gerenciar expediente e ordem do dia |
|||
- Realizar votações |
|||
- Gerar atas e resumos |
|||
|
|||
**Telas Principais**: |
|||
- `/sessao/` - Listar sessões |
|||
- `/sessao/create` - Criar sessão |
|||
- `/sessao/<id>/presenca` - Presença |
|||
- `/sessao/<id>/matordemdia/` - Ordem do dia |
|||
- `/sessao/<id>/votacao` - Votações |
|||
|
|||
--- |
|||
|
|||
#### 4. **Operador de Norma Jurídica** |
|||
**Acesso**: Módulo de Norma Jurídica + Compilação |
|||
- Criar, editar, excluir normas |
|||
- Vincular normas relacionadas |
|||
- Gerenciar textos articulados |
|||
- Compilação de normas |
|||
- Dispositivos e vigência |
|||
|
|||
**Telas Principais**: |
|||
- `/norma/` - Listar normas |
|||
- `/norma/create` - Criar norma |
|||
- `/norma/<id>/normarelacionada/` - Normas relacionadas |
|||
- `/compilacao/` - Textos articulados |
|||
|
|||
--- |
|||
|
|||
#### 5. **Operador de Protocolo Administrativo** |
|||
**Acesso**: Protocolo + Documentos Administrativos |
|||
- Protocolar documentos |
|||
- Anular protocolos |
|||
- Visualizar matérias e proposições |
|||
- Tramitação administrativa |
|||
|
|||
**Telas Principais**: |
|||
- `/protocoloadm/protocolo/` - Gerenciar protocolos |
|||
- `/protocoloadm/documentoadministrativo/` - Documentos |
|||
- `/proposicao/recebida/` - Proposições recebidas |
|||
|
|||
--- |
|||
|
|||
#### 6. **Operador de Comissões** |
|||
**Acesso**: Módulo de Comissões |
|||
- Criar e gerenciar comissões |
|||
- Definir composição |
|||
- Agendar reuniões |
|||
- Gerenciar pautas |
|||
- Matérias em tramitação |
|||
|
|||
**Telas Principais**: |
|||
- `/comissao/` - Listar comissões |
|||
- `/comissao/create` - Criar comissão |
|||
- `/comissao/<id>/composicao/` - Composição |
|||
- `/comissao/<id>/reuniao/` - Reuniões |
|||
|
|||
--- |
|||
|
|||
#### 7. **Operador Administrativo** |
|||
**Acesso**: Documentos Administrativos |
|||
- Gerenciar documentos administrativos |
|||
- Anexar documentos |
|||
- Tramitação administrativa |
|||
- Vinculação com matérias |
|||
|
|||
**Telas Principais**: |
|||
- `/protocoloadm/documentoadministrativo/` - Documentos |
|||
- `/protocoloadm/documentoadministrativo/<id>/tramitacao/` - Tramitação |
|||
|
|||
--- |
|||
|
|||
#### 8. **Operador de Audiência** |
|||
**Acesso**: Módulo de Audiências Públicas |
|||
- Criar e gerenciar audiências |
|||
- Anexar documentos |
|||
- Tipos de audiência |
|||
|
|||
**Telas Principais**: |
|||
- `/audiencia/` - Listar audiências |
|||
- `/audiencia/create` - Criar audiência |
|||
- `/audiencia/<id>/anexo/` - Anexos |
|||
|
|||
--- |
|||
|
|||
#### 9. **Operador de Painel** |
|||
**Acesso**: Painel Eletrônico |
|||
- Controlar painel de votações |
|||
- Gerenciar cronômetro |
|||
- Exibição de dados em tempo real |
|||
|
|||
**Telas Principais**: |
|||
- `/painel/` - Painel eletrônico |
|||
- `/painel/cronometro/` - Cronômetro |
|||
|
|||
--- |
|||
|
|||
#### 10. **Autor** (Parlamentares e Proponentes) |
|||
**Acesso**: Apenas suas próprias proposições |
|||
- Criar proposições |
|||
- Editar proposições próprias |
|||
- Visualizar histórico |
|||
- Textos articulados próprios |
|||
|
|||
**Telas Principais**: |
|||
- `/proposicao/` - Suas proposições |
|||
- `/proposicao/create` - Criar proposição |
|||
- `/proposicao/<id>/` - Editar (apenas próprias) |
|||
|
|||
**Restrição**: Só pode ver/editar proposições que ele mesmo criou |
|||
|
|||
--- |
|||
|
|||
#### 11. **Votante** (Parlamentares em Sessão) |
|||
**Acesso**: Votação em sessões |
|||
- Votar em matérias |
|||
- Registrar voto (nominal, simbólico, secreto) |
|||
|
|||
**Permissão Especial**: `can_vote` |
|||
|
|||
--- |
|||
|
|||
### Usuários Padrão Criados no Sistema |
|||
|
|||
O sistema cria automaticamente usuários de teste com senha padrão `interlegis`: |
|||
|
|||
| Usuário | Grupo | Senha | |
|||
|---------|-------|-------| |
|||
| `admin` | Superusuário Django | `interlegis` | |
|||
| `operador_geral` | Operador Geral | `interlegis` | |
|||
| `operador_materia` | Operador de Matéria | `interlegis` | |
|||
| `operador_sessao` | Operador de Sessão | `interlegis` | |
|||
| `operador_norma` | Operador de Norma | `interlegis` | |
|||
| `operador_protocoloadm` | Operador de Protocolo | `interlegis` | |
|||
| `operador_comissoes` | Operador de Comissões | `interlegis` | |
|||
| `operador_administrativo` | Operador Administrativo | `interlegis` | |
|||
| `operador_painel` | Operador de Painel | `interlegis` | |
|||
|
|||
--- |
|||
|
|||
### Permissões por Tipo de Operação |
|||
|
|||
O SAPL usa 5 radicais de permissão para cada entidade: |
|||
|
|||
- **`.list_`** - Listar registros (visualizar lista) |
|||
- **`.detail_`** - Ver detalhes de um registro específico |
|||
- **`.add_`** - Adicionar novos registros |
|||
- **`.change_`** - Editar registros existentes |
|||
- **`.delete_`** - Excluir registros |
|||
|
|||
--- |
|||
|
|||
### Acesso à API REST |
|||
|
|||
#### Endpoints Públicos (sem autenticação) |
|||
Qualquer pessoa pode consultar via API: |
|||
- Parlamentares (`/api/parlamentares/parlamentar/`) |
|||
- Comissões (`/api/comissoes/comissao/`) |
|||
- Sessões (`/api/sessao/sessaoplenaria/`) |
|||
- Matérias (`/api/materia/materialegislativa/`) |
|||
- Normas (`/api/norma/normajuridica/`) |
|||
|
|||
**Operações permitidas**: `GET` (list e detail apenas) |
|||
|
|||
#### Endpoints Privados (requer autenticação) |
|||
Requer token de autenticação: |
|||
- Documentos Administrativos |
|||
- Protocolos |
|||
- Proposições |
|||
- Operações de modificação (`POST`, `PUT`, `PATCH`, `DELETE`) |
|||
|
|||
**Autenticação**: `Authorization: Token <token>` |
|||
|
|||
--- |
|||
|
|||
### Acesso de Usuários Anônimos (Não Logados) |
|||
|
|||
Usuários não autenticados podem: |
|||
- Consultar dados públicos via API |
|||
- Acompanhar matérias (adicionar/remover acompanhamento via email) |
|||
- Acompanhar documentos |
|||
|
|||
**Restrições**: |
|||
- Não podem criar/editar/excluir |
|||
- Requer configuração de reCaptcha para acompanhamento |
|||
|
|||
--- |
|||
|
|||
### Matriz de Permissões por Módulo |
|||
|
|||
| Módulo | Operador Geral | Op. Matéria | Op. Sessão | Op. Norma | Op. Protocolo | Op. Comissões | Op. Admin | Op. Audiência | Op. Painel | Autor | |
|||
|--------|:--------------:|:-----------:|:----------:|:---------:|:-------------:|:-------------:|:---------:|:-------------:|:----------:|:-----:| |
|||
| **Matéria Legislativa** | ✅ | ✅ | - | - | 👁️ | - | - | - | - | - | |
|||
| **Sessão Plenária** | ✅ | - | ✅ | - | - | - | - | - | - | - | |
|||
| **Norma Jurídica** | ✅ | - | - | ✅ | - | - | - | - | - | - | |
|||
| **Protocolo** | ✅ | - | - | - | ✅ | - | - | - | - | - | |
|||
| **Comissões** | ✅ | - | - | - | - | ✅ | - | - | - | - | |
|||
| **Doc. Administrativo** | ✅ | - | - | - | 👁️ | - | ✅ | - | - | - | |
|||
| **Audiência Pública** | ✅ | - | - | - | - | - | - | ✅ | - | - | |
|||
| **Painel Eletrônico** | ✅ | - | - | - | - | - | - | - | ✅ | - | |
|||
| **Proposições** | ✅ | - | - | - | 👁️ | - | - | - | - | ✅ | |
|||
| **Compilação** | ✅ | - | - | ✅ | - | - | - | - | - | - | |
|||
| **Configurações** | ✅ | - | - | - | - | - | - | - | - | - | |
|||
|
|||
**Legenda**: |
|||
- ✅ = Acesso completo (criar, editar, excluir, visualizar) |
|||
- 👁️ = Apenas visualização |
|||
- \- = Sem acesso |
|||
|
|||
--- |
|||
|
|||
### Recomendações de Uso |
|||
|
|||
Para usar o sistema eficientemente, recomendamos atribuir usuários aos grupos conforme suas funções: |
|||
|
|||
1. **Administrador da Casa**: `Operador Geral` |
|||
2. **Secretaria Legislativa**: `Operador de Matéria` + `Operador de Sessão` |
|||
3. **Assessoria Jurídica**: `Operador de Norma` |
|||
4. **Setor de Protocolo**: `Operador de Protocolo Administrativo` |
|||
5. **Secretaria de Comissões**: `Operador de Comissões` |
|||
6. **Parlamentares**: `Autor` + `Votante` |
|||
7. **Operador de TI/Suporte**: `Operador Geral` |
|||
8. **Público Externo**: Sem login (acesso via API pública) |
|||
|
|||
--- |
|||
|
|||
## Observações Importantes |
|||
|
|||
1. **Ordem de Cadastro**: Para criar dados no sistema, siga esta ordem: |
|||
- Configurações do sistema (casa legislativa, legislatura) |
|||
- Partidos e tipos (matéria, norma, sessão) |
|||
- Parlamentares |
|||
- Matérias legislativas |
|||
- Sessões plenárias |
|||
- Normas jurídicas |
|||
|
|||
2. **Permissões**: O sistema possui controle granular de permissões. Configure grupos de usuários em `/sistema/grupo/` |
|||
|
|||
3. **Backup**: Recomenda-se backup regular do banco PostgreSQL: |
|||
```bash |
|||
docker exec postgres pg_dump -U sapl sapl > backup.sql |
|||
``` |
|||
|
|||
4. **Logs**: Arquivos de log em `sapl.log` na raiz do projeto |
|||
|
|||
--- |
|||
|
|||
## Suporte e Documentação |
|||
|
|||
- **Discord**: https://discord.gg/fzXSbhZbcy |
|||
- **Issues**: https://github.com/interlegis/sapl/issues |
|||
- **Wiki**: https://colab.interlegis.leg.br/wiki/ProjetoSapl |
|||
- **Perguntas Frequentes**: https://github.com/interlegis/sapl/wiki/Perguntas-Frequentes |
|||
|
|||
--- |
|||
|
|||
*Documento gerado em: 2025-10-02* |
|||
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
@ -0,0 +1,780 @@ |
|||
{% extends "base.html" %} |
|||
{% load i18n %} |
|||
|
|||
{% block head_title %}Guia do Projeto SAPL - {{nome_casa}}{% endblock %} |
|||
|
|||
{% block base_content %} |
|||
<style> |
|||
.guia-projeto { |
|||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; |
|||
line-height: 1.6; |
|||
color: #333; |
|||
} |
|||
|
|||
.guia-projeto h1 { |
|||
color: #2c3e50; |
|||
border-bottom: 3px solid #3498db; |
|||
padding-bottom: 10px; |
|||
margin-top: 30px; |
|||
} |
|||
|
|||
.guia-projeto h2 { |
|||
color: #34495e; |
|||
margin-top: 40px; |
|||
padding-top: 20px; |
|||
border-top: 2px solid #ecf0f1; |
|||
} |
|||
|
|||
.guia-projeto h3 { |
|||
color: #3498db; |
|||
margin-top: 25px; |
|||
} |
|||
|
|||
.guia-projeto h4 { |
|||
color: #7f8c8d; |
|||
margin-top: 20px; |
|||
font-weight: 600; |
|||
} |
|||
|
|||
.guia-projeto .alert { |
|||
border-left: 4px solid #3498db; |
|||
background-color: #ecf7fd; |
|||
padding: 15px; |
|||
margin: 20px 0; |
|||
} |
|||
|
|||
.guia-projeto .badge { |
|||
font-size: 0.85em; |
|||
padding: 4px 8px; |
|||
margin-left: 8px; |
|||
} |
|||
|
|||
.guia-projeto .card { |
|||
border: 1px solid #dee2e6; |
|||
border-radius: 8px; |
|||
margin-bottom: 20px; |
|||
box-shadow: 0 2px 4px rgba(0,0,0,0.05); |
|||
} |
|||
|
|||
.guia-projeto .card-header { |
|||
background-color: #f8f9fa; |
|||
font-weight: 600; |
|||
padding: 12px 20px; |
|||
border-bottom: 2px solid #dee2e6; |
|||
} |
|||
|
|||
.guia-projeto .card-body { |
|||
padding: 20px; |
|||
} |
|||
|
|||
.guia-projeto code { |
|||
background-color: #f4f4f4; |
|||
padding: 2px 6px; |
|||
border-radius: 3px; |
|||
font-family: 'Courier New', monospace; |
|||
color: #e74c3c; |
|||
} |
|||
|
|||
.guia-projeto pre { |
|||
background-color: #2c3e50; |
|||
color: #ecf0f1; |
|||
padding: 15px; |
|||
border-radius: 5px; |
|||
overflow-x: auto; |
|||
} |
|||
|
|||
.guia-projeto pre code { |
|||
color: #ecf0f1; |
|||
background: none; |
|||
} |
|||
|
|||
.guia-projeto table { |
|||
width: 100%; |
|||
border-collapse: collapse; |
|||
margin: 20px 0; |
|||
} |
|||
|
|||
.guia-projeto table th, |
|||
.guia-projeto table td { |
|||
border: 1px solid #dee2e6; |
|||
padding: 12px; |
|||
text-align: left; |
|||
} |
|||
|
|||
.guia-projeto table th { |
|||
background-color: #3498db; |
|||
color: white; |
|||
font-weight: 600; |
|||
} |
|||
|
|||
.guia-projeto table tr:nth-child(even) { |
|||
background-color: #f8f9fa; |
|||
} |
|||
|
|||
.guia-projeto .tech-stack { |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
gap: 10px; |
|||
margin: 15px 0; |
|||
} |
|||
|
|||
.guia-projeto .tech-badge { |
|||
background-color: #3498db; |
|||
color: white; |
|||
padding: 8px 15px; |
|||
border-radius: 20px; |
|||
font-size: 0.9em; |
|||
font-weight: 500; |
|||
} |
|||
|
|||
.guia-projeto .fluxo-card { |
|||
background-color: #fff; |
|||
border-left: 4px solid #27ae60; |
|||
padding: 15px; |
|||
margin: 15px 0; |
|||
box-shadow: 0 2px 4px rgba(0,0,0,0.1); |
|||
} |
|||
|
|||
.guia-projeto .fluxo-card h4 { |
|||
color: #27ae60; |
|||
margin-top: 0; |
|||
} |
|||
|
|||
.guia-projeto .user-type { |
|||
background-color: #fff; |
|||
border-left: 4px solid #9b59b6; |
|||
padding: 15px; |
|||
margin: 15px 0; |
|||
} |
|||
|
|||
.guia-projeto .user-type h4 { |
|||
color: #9b59b6; |
|||
margin-top: 0; |
|||
} |
|||
|
|||
.guia-projeto .permission-matrix { |
|||
overflow-x: auto; |
|||
} |
|||
|
|||
.guia-projeto .toc { |
|||
background-color: #f8f9fa; |
|||
border: 1px solid #dee2e6; |
|||
border-radius: 8px; |
|||
padding: 20px; |
|||
margin: 20px 0; |
|||
} |
|||
|
|||
.guia-projeto .toc h3 { |
|||
margin-top: 0; |
|||
color: #2c3e50; |
|||
} |
|||
|
|||
.guia-projeto .toc ul { |
|||
list-style-type: none; |
|||
padding-left: 0; |
|||
} |
|||
|
|||
.guia-projeto .toc ul li { |
|||
padding: 5px 0; |
|||
} |
|||
|
|||
.guia-projeto .toc ul li a { |
|||
color: #3498db; |
|||
text-decoration: none; |
|||
} |
|||
|
|||
.guia-projeto .toc ul li a:hover { |
|||
text-decoration: underline; |
|||
} |
|||
|
|||
.guia-projeto .highlight-box { |
|||
background-color: #fff3cd; |
|||
border-left: 4px solid #ffc107; |
|||
padding: 15px; |
|||
margin: 20px 0; |
|||
} |
|||
|
|||
.guia-projeto .success-box { |
|||
background-color: #d4edda; |
|||
border-left: 4px solid #28a745; |
|||
padding: 15px; |
|||
margin: 20px 0; |
|||
} |
|||
|
|||
.guia-projeto .nav-tabs .nav-link { |
|||
color: #495057; |
|||
} |
|||
|
|||
.guia-projeto .nav-tabs .nav-link.active { |
|||
color: #3498db; |
|||
font-weight: 600; |
|||
} |
|||
</style> |
|||
|
|||
<div class="guia-projeto"> |
|||
<h1><i class="fas fa-book"></i> Guia do Projeto SAPL</h1> |
|||
|
|||
<div class="alert"> |
|||
<strong><i class="fas fa-info-circle"></i> Sobre este Guia:</strong> |
|||
Este documento contém informações completas sobre a arquitetura, módulos, fluxos de trabalho e permissões do Sistema de Apoio ao Processo Legislativo (SAPL). |
|||
</div> |
|||
|
|||
<!-- Índice --> |
|||
<div class="toc"> |
|||
<h3><i class="fas fa-list"></i> Índice</h3> |
|||
<ul> |
|||
<li><a href="#visao-geral">1. Visão Geral</a></li> |
|||
<li><a href="#arquitetura">2. Arquitetura e Tecnologias</a></li> |
|||
<li><a href="#modulos">3. Módulos Principais</a></li> |
|||
<li><a href="#fluxos">4. Fluxos de Trabalho</a></li> |
|||
<li><a href="#configuracoes">5. Configurações Iniciais</a></li> |
|||
<li><a href="#usuarios">6. Tipos de Usuários e Permissões</a></li> |
|||
<li><a href="#api">7. API REST</a></li> |
|||
<li><a href="#recursos">8. Recursos Especiais</a></li> |
|||
</ul> |
|||
</div> |
|||
|
|||
<!-- Visão Geral --> |
|||
<h2 id="visao-geral"><i class="fas fa-eye"></i> Visão Geral</h2> |
|||
<p> |
|||
O <strong>SAPL</strong> é um sistema web completo para gerenciamento de processos legislativos em casas legislativas municipais, estaduais e federais. |
|||
Desenvolvido pelo Interlegis (Senado Federal), o sistema abrange todo o ciclo de vida legislativo, desde o cadastro de parlamentares até a votação e publicação de normas jurídicas. |
|||
</p> |
|||
<p><strong>Versão Atual:</strong> <span class="badge badge-primary">3.1.164-RC5</span></p> |
|||
|
|||
<!-- Arquitetura --> |
|||
<h2 id="arquitetura"><i class="fas fa-server"></i> Arquitetura e Tecnologias</h2> |
|||
|
|||
<div class="card"> |
|||
<div class="card-header"><i class="fas fa-layer-group"></i> Stack Tecnológica</div> |
|||
<div class="card-body"> |
|||
<h4>Backend</h4> |
|||
<div class="tech-stack"> |
|||
<span class="tech-badge">Django 2.2</span> |
|||
<span class="tech-badge">PostgreSQL 10.5</span> |
|||
<span class="tech-badge">Apache Solr 8.11</span> |
|||
<span class="tech-badge">Django REST Framework</span> |
|||
<span class="tech-badge">Gunicorn</span> |
|||
</div> |
|||
|
|||
<h4>Frontend</h4> |
|||
<div class="tech-stack"> |
|||
<span class="tech-badge">Vue.js 2.7.9</span> |
|||
<span class="tech-badge">Bootstrap 4.6.2</span> |
|||
<span class="tech-badge">Bootstrap-Vue</span> |
|||
<span class="tech-badge">TinyMCE 7.2</span> |
|||
<span class="tech-badge">Webpack 5</span> |
|||
</div> |
|||
|
|||
<h4>Infraestrutura</h4> |
|||
<div class="tech-stack"> |
|||
<span class="tech-badge">Docker</span> |
|||
<span class="tech-badge">Docker Compose</span> |
|||
<span class="tech-badge">Nginx</span> |
|||
<span class="tech-badge">Prometheus</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- Módulos --> |
|||
<h2 id="modulos"><i class="fas fa-cubes"></i> Módulos Principais</h2> |
|||
|
|||
<p>O SAPL está organizado em <strong>9 módulos principais</strong>:</p> |
|||
|
|||
<div class="row"> |
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header">1. Base</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Configurações gerais do sistema</li> |
|||
<li>Gestão de usuários e permissões</li> |
|||
<li>Casa legislativa</li> |
|||
<li>Autores</li> |
|||
<li>Pesquisa textual</li> |
|||
<li>Auditoria</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header">2. Parlamentares</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Cadastro de parlamentares</li> |
|||
<li>Legislaturas e sessões legislativas</li> |
|||
<li>Partidos políticos e coligações</li> |
|||
<li>Mandatos e filiações</li> |
|||
<li>Mesa diretora</li> |
|||
<li>Frentes e blocos</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header">3. Matéria Legislativa</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Proposições</li> |
|||
<li>Matérias legislativas</li> |
|||
<li>Tramitação</li> |
|||
<li>Autoria e relatoria</li> |
|||
<li>Documentos acessórios</li> |
|||
<li>Acompanhamento</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header">4. Sessão Plenária</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Sessões ordinárias/extraordinárias</li> |
|||
<li>Composição da mesa</li> |
|||
<li>Presença de parlamentares</li> |
|||
<li>Expediente e ordem do dia</li> |
|||
<li>Votações</li> |
|||
<li>Atas e resumos</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header">5. Norma Jurídica</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Leis, decretos, resoluções</li> |
|||
<li>Vinculação entre normas</li> |
|||
<li>Autoria de normas</li> |
|||
<li>Anexos</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header">6. Comissões</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Comissões permanentes/temporárias</li> |
|||
<li>Composição</li> |
|||
<li>Reuniões</li> |
|||
<li>Pautas</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- Fluxos de Trabalho --> |
|||
<h2 id="fluxos"><i class="fas fa-route"></i> Principais Fluxos de Trabalho</h2> |
|||
|
|||
<div class="fluxo-card"> |
|||
<h4><i class="fas fa-user-tie"></i> 1. Cadastro de Parlamentares</h4> |
|||
<p><strong>Objetivo:</strong> Registrar os parlamentares que compõem a casa legislativa</p> |
|||
<ol> |
|||
<li>Acesse: <code>/parlamentar/create</code></li> |
|||
<li>Preencha os dados pessoais (nome, CPF, data de nascimento, etc.)</li> |
|||
<li>Adicione filiação partidária: <code>/parlamentar/<id>/filiacao/create</code></li> |
|||
<li>Crie mandato: <code>/parlamentar/<id>/mandato/create</code></li> |
|||
<li>Adicione dependentes (opcional): <code>/parlamentar/<id>/dependente/create</code></li> |
|||
</ol> |
|||
</div> |
|||
|
|||
<div class="fluxo-card"> |
|||
<h4><i class="fas fa-file-alt"></i> 2. Criação de Matéria Legislativa</h4> |
|||
<p><strong>Objetivo:</strong> Protocolar e tramitar projetos de lei e outros documentos legislativos</p> |
|||
<ol> |
|||
<li>Acesse: <code>/materia/create</code></li> |
|||
<li>Preencha tipo, número, ano, data de apresentação e ementa</li> |
|||
<li>Adicione autoria: <code>/materia/<id>/autoria/create</code></li> |
|||
<li>Faça despacho inicial: <code>/materia/<id>/despachoinicial/create</code></li> |
|||
<li>Registre tramitação: <code>/materia/<id>/tramitacao/create</code></li> |
|||
<li>Anexe documentos: <code>/materia/<id>/documentoacessorio/create</code></li> |
|||
</ol> |
|||
</div> |
|||
|
|||
<div class="fluxo-card"> |
|||
<h4><i class="fas fa-gavel"></i> 3. Realização de Sessão Plenária</h4> |
|||
<p><strong>Objetivo:</strong> Registrar sessões ordinárias/extraordinárias e realizar votações</p> |
|||
<ol> |
|||
<li>Acesse: <code>/sessao/create</code></li> |
|||
<li>Preencha tipo, número, legislatura, data e hora</li> |
|||
<li>Configure a mesa: <code>/sessao/<id>/mesa</code></li> |
|||
<li>Registre presença: <code>/sessao/<id>/presenca</code></li> |
|||
<li>Adicione matérias ao expediente e ordem do dia</li> |
|||
<li>Realize votações</li> |
|||
<li>Gere resumo/ata: <code>/sessao/<id>/resumo</code></li> |
|||
</ol> |
|||
</div> |
|||
|
|||
<div class="fluxo-card"> |
|||
<h4><i class="fas fa-balance-scale"></i> 4. Publicação de Norma Jurídica</h4> |
|||
<p><strong>Objetivo:</strong> Registrar leis, decretos e resoluções aprovadas</p> |
|||
<ol> |
|||
<li>Acesse: <code>/norma/create</code></li> |
|||
<li>Preencha tipo, número, ano, data de publicação e ementa</li> |
|||
<li>Anexe texto integral (PDF ou DOC)</li> |
|||
<li>Adicione autoria: <code>/norma/<id>/autorianorma/create</code></li> |
|||
<li>Vincule normas relacionadas: <code>/norma/<id>/normarelacionada/create</code></li> |
|||
</ol> |
|||
</div> |
|||
|
|||
<!-- Configurações Iniciais --> |
|||
<h2 id="configuracoes"><i class="fas fa-cog"></i> Configurações Iniciais Necessárias</h2> |
|||
|
|||
<div class="highlight-box"> |
|||
<p><strong><i class="fas fa-exclamation-triangle"></i> Importante:</strong> Antes de começar a usar o sistema, é necessário configurar:</p> |
|||
</div> |
|||
|
|||
<table class="table"> |
|||
<thead> |
|||
<tr> |
|||
<th>Configuração</th> |
|||
<th>URL</th> |
|||
<th>Descrição</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
<tr> |
|||
<td><strong>Casa Legislativa</strong></td> |
|||
<td><code>/sistema/casa-legislativa/</code></td> |
|||
<td>Nome, endereço, CNPJ, logomarca</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Legislatura</strong></td> |
|||
<td><code>/sistema/parlamentar/legislatura/</code></td> |
|||
<td>Número, datas de início e fim, data de eleição</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Sessão Legislativa</strong></td> |
|||
<td><code>/sistema/parlamentar/sessao-legislativa/</code></td> |
|||
<td>Sessões legislativas para a legislatura</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Partidos</strong></td> |
|||
<td><code>/sistema/parlamentar/partido/</code></td> |
|||
<td>Partidos políticos</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Tipos de Matéria</strong></td> |
|||
<td><code>/sistema/materia/tipo/</code></td> |
|||
<td>Projeto de Lei, Emenda, Requerimento, etc.</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Tipos de Norma</strong></td> |
|||
<td><code>/sistema/norma/tipo/</code></td> |
|||
<td>Lei, Decreto, Resolução, etc.</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Tipos de Sessão</strong></td> |
|||
<td><code>/sistema/sessao/tipo/</code></td> |
|||
<td>Tipos de sessão plenária</td> |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
|
|||
<!-- Tipos de Usuários --> |
|||
<h2 id="usuarios"><i class="fas fa-users"></i> Tipos de Usuários e Permissões</h2> |
|||
|
|||
<p>O SAPL possui um sistema robusto de controle de acesso com <strong>11 grupos de usuários</strong> diferentes:</p> |
|||
|
|||
<div class="user-type"> |
|||
<h4>1. Operador Geral (Superusuário SAPL)</h4> |
|||
<p><strong>Acesso:</strong> Todos os módulos e funcionalidades</p> |
|||
<p><strong>Telas Principais:</strong></p> |
|||
<ul> |
|||
<li><code>/sistema/</code> - Painel administrativo completo</li> |
|||
<li><code>/sistema/casa-legislativa/</code> - Configuração da casa</li> |
|||
<li><code>/sistema/usuario/</code> - Gestão de usuários</li> |
|||
<li>Acesso total a todos os módulos</li> |
|||
</ul> |
|||
</div> |
|||
|
|||
<div class="user-type"> |
|||
<h4>2. Operador de Matéria</h4> |
|||
<p><strong>Acesso:</strong> Módulo de Matéria Legislativa</p> |
|||
<p><strong>Permissões:</strong> Criar, editar, excluir matérias, tramitação, autoria, documentos</p> |
|||
<p><strong>Telas Principais:</strong></p> |
|||
<ul> |
|||
<li><code>/materia/</code> - Listar matérias</li> |
|||
<li><code>/materia/create</code> - Criar matéria</li> |
|||
<li><code>/materia/<id>/tramitacao/</code> - Tramitação</li> |
|||
</ul> |
|||
</div> |
|||
|
|||
<div class="user-type"> |
|||
<h4>3. Operador de Sessão Plenária</h4> |
|||
<p><strong>Acesso:</strong> Módulo de Sessão Plenária</p> |
|||
<p><strong>Permissões:</strong> Criar sessões, registrar presença, gerenciar votações</p> |
|||
<p><strong>Telas Principais:</strong></p> |
|||
<ul> |
|||
<li><code>/sessao/</code> - Listar sessões</li> |
|||
<li><code>/sessao/create</code> - Criar sessão</li> |
|||
<li><code>/sessao/<id>/presenca</code> - Presença</li> |
|||
</ul> |
|||
</div> |
|||
|
|||
<div class="user-type"> |
|||
<h4>4. Operador de Norma Jurídica</h4> |
|||
<p><strong>Acesso:</strong> Módulo de Norma Jurídica + Compilação</p> |
|||
<p><strong>Permissões:</strong> Criar normas, vincular normas, textos articulados</p> |
|||
</div> |
|||
|
|||
<div class="user-type"> |
|||
<h4>5. Operador de Protocolo Administrativo</h4> |
|||
<p><strong>Acesso:</strong> Protocolo + Documentos Administrativos</p> |
|||
<p><strong>Permissões:</strong> Protocolar documentos, anular protocolos, visualizar matérias</p> |
|||
</div> |
|||
|
|||
<div class="user-type"> |
|||
<h4>10. Autor (Parlamentares e Proponentes)</h4> |
|||
<p><strong>Acesso:</strong> Apenas suas próprias proposições</p> |
|||
<p><strong>Restrição:</strong> Só pode ver/editar proposições que ele mesmo criou</p> |
|||
</div> |
|||
|
|||
<!-- Usuários Padrão --> |
|||
<h3><i class="fas fa-user-shield"></i> Usuários Padrão do Sistema</h3> |
|||
|
|||
<div class="success-box"> |
|||
<p><strong>Senha padrão para todos os usuários:</strong> <code>interlegis</code></p> |
|||
</div> |
|||
|
|||
<table class="table table-sm"> |
|||
<thead> |
|||
<tr> |
|||
<th>Usuário</th> |
|||
<th>Grupo</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
<tr> |
|||
<td><code>admin</code></td> |
|||
<td>Superusuário Django</td> |
|||
</tr> |
|||
<tr> |
|||
<td><code>operador_geral</code></td> |
|||
<td>Operador Geral</td> |
|||
</tr> |
|||
<tr> |
|||
<td><code>operador_materia</code></td> |
|||
<td>Operador de Matéria</td> |
|||
</tr> |
|||
<tr> |
|||
<td><code>operador_sessao</code></td> |
|||
<td>Operador de Sessão</td> |
|||
</tr> |
|||
<tr> |
|||
<td><code>operador_norma</code></td> |
|||
<td>Operador de Norma</td> |
|||
</tr> |
|||
<tr> |
|||
<td><code>operador_protocoloadm</code></td> |
|||
<td>Operador de Protocolo</td> |
|||
</tr> |
|||
<tr> |
|||
<td><code>operador_comissoes</code></td> |
|||
<td>Operador de Comissões</td> |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
|
|||
<!-- Matriz de Permissões --> |
|||
<h3><i class="fas fa-table"></i> Matriz de Permissões por Módulo</h3> |
|||
|
|||
<div class="permission-matrix"> |
|||
<table class="table table-bordered table-sm"> |
|||
<thead> |
|||
<tr> |
|||
<th>Módulo</th> |
|||
<th>Op. Geral</th> |
|||
<th>Op. Matéria</th> |
|||
<th>Op. Sessão</th> |
|||
<th>Op. Norma</th> |
|||
<th>Op. Protocolo</th> |
|||
<th>Autor</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
<tr> |
|||
<td><strong>Matéria Legislativa</strong></td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">👁️</td> |
|||
<td class="text-center">-</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Sessão Plenária</strong></td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Norma Jurídica</strong></td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Protocolo</strong></td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Proposições</strong></td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">👁️</td> |
|||
<td class="text-center">✅</td> |
|||
</tr> |
|||
<tr> |
|||
<td><strong>Configurações</strong></td> |
|||
<td class="text-center">✅</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
<td class="text-center">-</td> |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
<p class="text-muted"><small>✅ = Acesso completo | 👁️ = Apenas visualização | - = Sem acesso</small></p> |
|||
</div> |
|||
|
|||
<!-- API REST --> |
|||
<h2 id="api"><i class="fas fa-code"></i> API REST</h2> |
|||
|
|||
<p>O SAPL disponibiliza uma API REST completa para integração com outros sistemas.</p> |
|||
|
|||
<div class="card"> |
|||
<div class="card-header">Informações da API</div> |
|||
<div class="card-body"> |
|||
<p><strong>Documentação:</strong> <a href="/api/docs/" target="_blank">/api/docs/</a></p> |
|||
<p><strong>Schema OpenAPI:</strong> <a href="/api/schema/" target="_blank">/api/schema/</a></p> |
|||
<p><strong>Autenticação:</strong> Token-based (requer <code>Authorization: Token <token></code>)</p> |
|||
|
|||
<h5>Principais Endpoints:</h5> |
|||
<ul> |
|||
<li><code>/api/materia/materialegislativa/</code> - Matérias legislativas</li> |
|||
<li><code>/api/parlamentares/parlamentar/</code> - Parlamentares</li> |
|||
<li><code>/api/sessao/sessaoplenaria/</code> - Sessões plenárias</li> |
|||
<li><code>/api/norma/normajuridica/</code> - Normas jurídicas</li> |
|||
<li><code>/api/comissoes/comissao/</code> - Comissões</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- Recursos Especiais --> |
|||
<h2 id="recursos"><i class="fas fa-star"></i> Recursos Especiais</h2> |
|||
|
|||
<div class="row"> |
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header"><i class="fas fa-search"></i> Busca Textual (Solr)</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Indexação automática de documentos</li> |
|||
<li>Pesquisa full-text em matérias, normas e documentos</li> |
|||
<li>Configurável via <code>USE_SOLR=True</code></li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header"><i class="fas fa-file-code"></i> Textos Articulados</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Editor de leis estruturadas</li> |
|||
<li>Versionamento de textos</li> |
|||
<li>Comparação de versões (diff)</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header"><i class="fas fa-desktop"></i> Painel Eletrônico</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Exibição em tempo real de votações</li> |
|||
<li>Painel de presença</li> |
|||
<li>URL: <a href="/painel/" target="_blank">/painel/</a></li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="col-md-6"> |
|||
<div class="card"> |
|||
<div class="card-header"><i class="fas fa-bell"></i> Acompanhamento de Matérias</div> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li>Cidadãos podem acompanhar matérias via email</li> |
|||
<li>Requer configuração de reCaptcha</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- Ordem de Cadastro --> |
|||
<h2><i class="fas fa-tasks"></i> Ordem Recomendada de Cadastro</h2> |
|||
|
|||
<div class="highlight-box"> |
|||
<p><strong>Para criar dados no sistema, siga esta ordem:</strong></p> |
|||
<ol> |
|||
<li>Configurações do sistema (casa legislativa, legislatura)</li> |
|||
<li>Partidos e tipos (matéria, norma, sessão)</li> |
|||
<li>Parlamentares</li> |
|||
<li>Matérias legislativas</li> |
|||
<li>Sessões plenárias</li> |
|||
<li>Normas jurídicas</li> |
|||
</ol> |
|||
</div> |
|||
|
|||
<!-- Suporte --> |
|||
<h2><i class="fas fa-life-ring"></i> Suporte e Documentação</h2> |
|||
|
|||
<div class="card"> |
|||
<div class="card-body"> |
|||
<ul> |
|||
<li><strong>Discord:</strong> <a href="https://discord.gg/fzXSbhZbcy" target="_blank">Sala "Somos Interlegis"</a></li> |
|||
<li><strong>Issues:</strong> <a href="https://github.com/interlegis/sapl/issues" target="_blank">GitHub Issue Tracker</a></li> |
|||
<li><strong>Wiki:</strong> <a href="https://colab.interlegis.leg.br/wiki/ProjetoSapl" target="_blank">Wiki do Projeto</a></li> |
|||
<li><strong>FAQ:</strong> <a href="https://github.com/interlegis/sapl/wiki/Perguntas-Frequentes" target="_blank">Perguntas Frequentes</a></li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
|
|||
<hr> |
|||
<p class="text-muted text-center"> |
|||
<small><i class="fas fa-calendar-alt"></i> Documento gerado em: {{ data_geracao }}</small> |
|||
</p> |
|||
</div> |
|||
{% endblock base_content %} |
|||
Loading…
Reference in new issue