interlegis.portalmodelo.ombudsman 1.7
Sistema de Ouvidoria do Portal Modelo do Interlegis.
Keywords: interlegis transparency portalmodelo

***********************************
Portal Modelo: Sistema de Ouvidoria
***********************************

.. contents:: Conteúdo
   :depth: 2

Introdução
-----------

Este pacote integra um Sistema de informações ao cidadão no Portal Modelo do
Programa Interlegis.

O pacote define tipos de conteúdo para representar uma ouvidoria e as
solicitações, um workflow, um name chooser e uma view que retorna informação
em formato JSON.

Tipos de conteúdo
=================

Ouvidoria (OmbudsOffice)
------------------------

Uma Ouvidoria é um tipo de conteúdo baseado no Dexterity que contém os
seguintes campos:

* Nome
* Descrição
* Tipos de solicitações
* Áreas
* Administradores

Solicitação (Claim)
-------------------

Uma Solicitação é um tipo de conteúdo baseado no Dexterity que contém os
seguintes campos:

* Tipo de solicitação
* Área
* Assunto
* Detalhes
* Nome do solicitante
* Email do solicitante
* Gênero
* Idade
* Endereço
* CEP
* Cidade
* Estado

A solicitação tem atribuído um workflow especial chamado de
``claim_workflow``. O workflow é mudado pelos responsáveis por atender a
solicitação no processo de resolução da mesma.

As respostas a uma solicitação são armazenadas em anotações no objeto.

Qualquer usuário anônimo pode cadastrar uma solicitação, mas só usuários
autorizados podem mudar o estado da mesma e adicionar comentários.

Ao criar uma solicitação um número de protocolo é gerado de forma automática;
esse número de protocolo é formado pela data e um número adicional indicando a
hora de criação da solicitação.

Workflow
---------

O workflow das solicitações é simples e inclui 4 estados diferentes:

Pendente
    O estado inicial da solicitação; ela foi criada e está esperando o
    responsável avaliá-la.

Aceita
    A solicitação foi aceita e está em processo de iniciar o trâmite.

Rejeitada
    A solicitação não foi aceita.

Tramitando
    A solicitação está sendo tramitada.

Resolvida
    A solicitação teve uma resposta e, portanto, se considera resolvida.

Consulta de solicitações
------------------------

A view padrão da ouvidoria mostra uma caixa de buscas que permite buscar uma
solicitação usando seu número de protocolo.

Os usuários registrados podem ver também uma listagem das solicitações que
pode ser ordenado por título, estado, data de envio e data da última
modificação.

Notificações
------------

O sistema envia notificações cada vez que uma solicitação é criada ou
modificada. A lista de destinatarios inclui o responsável da área e o
solicitante.

O pacote depende do complemento `collective.watcherlist`_ sendo completamente
configurável.

.. _`collective.watcherlist`: https://pypi.python.org/pypi/collective.watcherlist

JSON API
--------

O pacote fornece uma view chamada ``@@ombudsman-json`` disponibilizada na raiz
do portal que retorna essa informação em formato JSON.

A informação mostrada inclui ouvidorias e solicitações num formato simples::

    {
        "claims": [
            {
                "address": "Rua Comendador Roberto Ugolini, 20",
                "age": "50",
                "area": "comunicacao-social",
                "city": "Mooca",
                "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                "email": "foo@bar.com",
                "genre": "m",
                "kind": "solicitacao-de-informacao",
                "name": "Zé Ninguém",
                "postal_code": "03125-010",
                "state": "SP",
                "title": "Lorem ipsum",
                "uri": "http://localhost:8080/Plone/ouvidoria/20140423103340"
            },
        ],
        "ombudsoffices": [
            {
                "areas": [
                    {
                        "area": "Recursos Humanos",
                        "email": "fulano@foo.gov.br",
                        "responsible": "Fulano"
                    }
                ],
                "claim_types": [
                    {
                        "claim_type": "Solicitação de informação"
                    }
                ],
                "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
                "managers": [],
                "title": "Ouvidoria",
                "uri": "http://localhost:8080/Plone/ouvidoria"
            }
        ]
    }

Contributors
============

* Érico Andrei
* Héctor Velarde
* Jean Ferri
* Karyn Nassif
* Marcio Mazza
* Ramiro Luz

Changelog
=========

1.7 (2019-04-08)
----------------

- RG is not required anymore.
  [rafahela]


1.6 (2019-03-12)
----------------

- New term for answers to requests in the ombudsman's office
  [IolaneAndrade]


1.5 (2018-12-14)
----------------

- Fix responsivity conflicts in chart
  [IolaneAndrade]

- Fix ombudsman's permissions to add responses and add the new role Ombudsman
  [IolaneAndrade]

- Add upgrade step. Add role Ombudsman.
  [IolaneAndrade]


1.4 (2018-07-17)
----------------

- Add CPF and RG fields to Claim.
  [rafahela]


1.3 (2018-07-09)
----------------

- Add statistic chart to ombudsman office and structured JSON to populate the chart.
  [IolaneAndrade]


1.2 (2017-12-05)
----------------

- Add recaptcha support
  [rafahela]


1.1 (unreleased)
----------------

- Fix email for non existing templates
  [jeanferri]

- Add option to hide the open claims listing
  [hersonrodrigues]

- Add templates for emails customization
  [hersonrodrigues]


1.0 (2015-09-25)
----------------

- Change the title in claim view
  [jeanferri]

- Improve review state stuff on response select box
  [jeanferri]

- Remove ':' from translations
  [jeanferri]

- Link the name of author for responses and attachments
  [jeanferri]

- Sort claims table for modification date reversed
  [jeanferri]

- Fix translations
  [jeanferri]

- Add permission to view claim personal info, with tests
  [ramiroluz]

- Update translations
  [jeanferri]

- Improve claim view
  [jeanferri]

- Add pagination to claims table
  [jeanferri]

- Fix protocol search for anonymous users in IDG themes
  [jeanferri]


1.0rc2 (2015-08-26)
-------------------

- Fix test to add a new ombudsman office
  [jeanferri]


1.0rc1 (2015-06-17)
-------------------

- Normalize area title so the Choice value can be used to find respective email address
  [ramiroluz]

- Fix test test_setup.py
  [marciomazza]

- Fix Add Claim button for anonymous user
  [jeanferri]


1.0b3 (2014-08-25)
------------------

- Suporte a adição de arquivos em Claims (refs. https://colab.interlegis.leg.br/ticket/2949).
  [ericof]

- Usamos o Portal Transforms para converter o texto de uma resposta para x-web-intelligent (refs. https://colab.interlegis.leg.br/ticket/2975).
  [ericof]


1.0b2 (2014-07-02)
------------------

- As informações pessoais não devem ser exibida para usuários anônimos,
  somente para os usuários administradores da ouvidoria
  (refs. https://colab.interlegis.leg.br/ticket/2946).
  [hvelarde]

- Exibe a tabela Solicitações abertas também para usuários anônimos, para que
  todos saibam quais os pedidos já foram feitos e quais as suas respostas
  (refs. https://colab.interlegis.leg.br/ticket/2946).
  [hvelarde]

- Adiciona o `Linkify`_, um plugin do jQuery para criar links automaticamente se for dada uma resposta com uma URL (refs. https://colab.interlegis.leg.br/ticket/2946).
  [hvelarde]

- O preenchimento dos campos Endereço, CEP, Cidade e Estado e agora opcional.
  Os campos Gênero e Idade foram removidos do formulário (refs. https://colab.interlegis.leg.br/ticket/2946).
  [hvelarde]


1.0b1 (2014-05-16)
------------------

- Informações pessoais dos usuários não devem ser disponibilizadas para
  usuários anónimos nas solicitações, nem acessando a API.


1.0a1 (2014-04-27)
------------------

- Initial release.

.. _`Linkify`: https://github.com/SoapBox/jQuery-linkify