diff --git a/parlamentares/migrations/0005_parlamentar_fotografia.py b/parlamentares/migrations/0005_parlamentar_fotografia.py new file mode 100644 index 000000000..c81ab2ef2 --- /dev/null +++ b/parlamentares/migrations/0005_parlamentar_fotografia.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import parlamentares.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('parlamentares', '0004_auto_20150929_1425'), + ] + + operations = [ + migrations.AddField( + model_name='parlamentar', + name='fotografia', + field=models.FileField(blank=True, null=True, verbose_name='Fotografia', upload_to=parlamentares.models.foto_upload_path), + ), + ] diff --git a/parlamentares/models.py b/parlamentares/models.py index 6e37cfffc..6465ec37d 100644 --- a/parlamentares/models.py +++ b/parlamentares/models.py @@ -189,6 +189,14 @@ class SituacaoMilitar(models.Model): return self.descricao +def get_foto_media_path(instance, subpath, filename): + return './parlamentar/%s/%s/%s' % (instance, subpath, filename) + + +def foto_upload_path(instance, filename): + return get_foto_media_path(instance, 'foto', filename) + + class Parlamentar(models.Model): FEMININO = 'F' MASCULINO = 'M' @@ -269,6 +277,11 @@ class Parlamentar(models.Model): biografia = models.TextField( blank=True, null=True, verbose_name=_('Biografia')) unidade_deliberativa = models.BooleanField() + fotografia = models.FileField( + blank=True, + null=True, + upload_to=foto_upload_path, + verbose_name=_('Fotografia')) class Meta: verbose_name = _('Parlamentar') diff --git a/parlamentares/urls.py b/parlamentares/urls.py index dcc975d4f..f8436f9bb 100644 --- a/parlamentares/urls.py +++ b/parlamentares/urls.py @@ -1,8 +1,8 @@ from django.conf.urls import include, url from parlamentares.views import (ParlamentaresView, cargo_mesa_crud, coligacao_crud, legislatura_crud, - nivel_instrucao_crud, partido_crud, - sessao_legislativa_crud, + nivel_instrucao_crud, parlamentar_crud, + partido_crud, sessao_legislativa_crud, tipo_afastamento_crud, tipo_dependente_crud, tipo_militar_crud) @@ -25,6 +25,8 @@ urlpatterns = [ url(r'^sistema/mesa-diretora/cargo-mesa/', include(cargo_mesa_crud.urls)), - url(r'^parlamentares$', + url(r'^parlamentares/list$', ParlamentaresView.as_view(), name='parlamentares'), + url(r'^parlamentares/', + include(parlamentar_crud.urls)), ] diff --git a/parlamentares/views.py b/parlamentares/views.py index 73ae6d667..2b588d34e 100644 --- a/parlamentares/views.py +++ b/parlamentares/views.py @@ -69,11 +69,11 @@ sessao_legislativa_crud = build_crud( ('data_fim_intervalo', 2)]], ]) -dependente_crud = build_crud( +parlamentar_crud = build_crud( Parlamentar, '', [ [_('Cadastro do Parlamentar'), - [('nome_parlamentar', 4), ('login_FIXME', 4), ('ativo', 4)], + [('nome_parlamentar', 8), ('ativo', 4)], [('nome_completo', 12)], [('nivel_instrucao', 4), ('sexo', 4), ('data_nascimento', 4)], [('cpf', 4), ('rg', 4), ('titulo_eleitor', 4)], @@ -82,13 +82,11 @@ dependente_crud = build_crud( [('email', 12)], [('numero_gab_parlamentar', 4), ('telefone', 4), ('fax', 4)], [('endereco_residencia', 6), ('cep_residencia', 6)], - [('municipio_residencia', 6), ('uf_FIXME', 6)], + [('municipio_residencia', 12)], [('telefone_residencia', 6), ('fax_residencia', 6)], [('locais_atuacao', 12)], - [('file_FIXME', 12)], - [('biografia', 12)], - [('observacao_FIXME', 12)], - [('parlamentar_salvar_FIXME', 12)]], + # [('fotografia', 12)], + [('biografia', 12)]], ]) filiacao_crud = build_crud(