Implementação inicial do IssueBaseForm e RegularIssueForm
Merge pull request #670 from gustavofonseca/datamodel-overhaul

Implementação inicial do IssueBaseForm e RegularIssueForm
Implementação inicial do SupplementIssueForm usando IssueBaseForm #674

Issue: #674

- Adiciono clase form para o tipo: SupplementIssueForm descrito em #573.
- Adiciono os tests.
Merge pull request #678 from jfunez/674_datamodel_overhaul_SupplementIssueForm

674 datamodel overhaul supplement issue form
Implementação inicial do SpecialIssueForm com base em RegularIssueForm #677

Issue: #677

- adiciono formulario
- adiciono tests
Implementação inicial do SupplementIssueForm usando IssueBaseForm #674

Issue: #674

fix: tiro o widget que não era necessario.
Merge com juan/677_datamodel_overhaul_SpecialIssueForm
Implementação inicial do SupplementIssueForm usando IssueBaseForm #674

Issue: #674

- Adiciono propery: ``suppl_type``para obter o tipo de Supplement a
partir dos campos preenchidos: ``number``e ``volume``.
- Modifico o metodo clean para o caso que o usuário esteja modificando
um Supplement Issue que ja existe.
- Adiciono testes necessários.
Merge branch 'dataforms-overhaul' of github.com:scieloorg/scielo-manager into 674_datamodel_overhaul_SupplementIssueForm

Conflicts:
	scielomanager/journalmanager/forms.py
	scielomanager/journalmanager/tests/tests_forms.py
Merge pull request #684 from jfunez/674_datamodel_overhaul_SupplementIssueForm

674 datamodel overhaul supplement issue form
Implementação básica do método forms.IssueBaseForm.save, já contemplando o argumento commit=False
Merge pull request #689 from gustavofonseca/tk685-dataforms-overhaul

Implementação básica do método forms.IssueBaseForm.save
Mudanças no frontend para uso dos (issue) forms especificos #686

[scielomanager/static/js/multiselect.js]
Adiciono classes CSS para mudar o estilo do Remove button, e alinhamento
necessario.

[scielomanager/static/js/jquery/jquery.formset.js]
Adiciono classes CSS para mudar o estilo do Add e Remove button, e
alinhamento necessario.

[scielomanager/static/css/style.css]
- estilo no icone de cadeado.
- tamanho da caixa para cada issue

[settings_test.py]
- as vezes alguns testes (relacionados com BalaioAPI) dava timeout,
então nas settings de test, foi aumentado o timeout padrão.

[settings.py]
- adiciono transaction middleware
(https://docs.djangoproject.com/en/1.4/ref/middleware/#django.middleware.transaction.TransactionMiddleware)

[scielomanager/scielomanager/views.py]
- separação da view add_issue em duas view: add_issue e edit_issue.
- a funcão ``get_issue_form_by_type``serve para obter o formulario certo
dependendo do tipo de issue (``regular``, ``supplemente``, ou
``special``).

[scielomanager/scielomanager/urls.py]
- agora a view ``issue.add`` recebe um parametro com o tipo de issue que
vai ser creado (``regular``, ``supplemente``, ou ``special``).

[scielomanager/scielomanager/test_models.py]
- adiciono tests para controlar a UseLicense relacionada como os Issues
e Journals.
- Tests para o model ``UseLicense``, adicionar, editar e marcar como
default.

[scielomanager/scielomanager/test_forms.py]
- _makeUseLicense cria uma licença default para relacionar nas issues e
journals quando são criados sem especificar uma licença.
- Ajustes nos tests de forms Regular, Supplement e Special.
- Ajustes nos test de forms de forma mais generica como estava sendo
testado na implementação pre-"overhaul"

[scielomanager/journalmanager/templates/journalmanager/issue_list.html]
[scielomanager/journalmanager/templates/journalmanager/includes/*]
[scielomanager/journalmanager/templates/journalmanager/add_issue*]
- Tomando como base o template anterior, foi separado em "includes" e a
parte do codigo que mostrava campo por campo, foi sustituida por un loop
que itera nos campos do formulario ``add_form`` do contexto.

[scielomanager/journalmanager/models.py]
- UseLicense.is_default define como liceça padrão. Somente uma liceça é
definida como padrão.
- get_journals_default_use_license é usado para obter a UseLicense
marcada como is_default=True.
- issue: #688: "Quando models.Issue().type != 'supplement', o acesso a
models.Issue().suppl_type deve levantar AttributeError."
- help text para o Issue.use_license indicando qual é a use license
padrão.
- Issue._get_default_use_license: relaciona como licença o da journal.

[scielomanager/journalmanager/migrations/*]
- nro: 46 adiciona o campo ``type`` no Issue.
- nro: 47 migração de dados, para definir o tipo com base nos campos
preenchidos.
- nro: 48 adiciona o campo ``suppl_text`` no Issue.
- nro: 49 migração de dados, muda os codigos da licença com codigo
``""``para ``"nd"`` que corresponde a licença ``sem licença``.
- nro: 50 adiciona o campo is_default para UseLicense.

[scielomanager/journalmanager/forms.py]
- mudanças no campo Issue.use_license que agora não é mais requerido
(igual que no model), e tem o help_text notificando da licença padrão.
A relação com uma licença padrão e feita no save do models.Issue.
- adiciono campo ``suppl_type`` necesario para poder trabalhar com o
Issue de tipo supplement.

[scielomanager/journalmanager/choices.py]
- Adiciono os tipos de Issues.

[scielomanager/api/tests.py]
- Ajustes na resposta da API para o resource Issue
- definição de uma UseLicense padrão necessaria para os testes
(``_makeUseLicense``).
Remoção dos campos Issue.suppl_volume e Issue.suppl_number
Ajustes na migração de dados que segrega instâncias de Issue de acordo com seu tipo
Merge pull request #719 from gustavofonseca/tk686-rev

Tk686 revisado e ampliado