Browse Source

Fix #28

pull/66/head
Sesostris Vieira 4 years ago
parent
commit
af606bf532
  1. 45
      sigi/apps/casas/migrations/0017_auto_20210416_0841.py
  2. 15
      sigi/apps/casas/models.py
  3. 39
      sigi/apps/contatos/migrations/0003_auto_20210416_0841.py
  4. 31
      sigi/apps/contatos/models.py
  5. 33
      sigi/apps/convenios/migrations/0006_auto_20210416_0841.py
  6. 35
      sigi/apps/convenios/models.py
  7. 51
      sigi/apps/diagnosticos/migrations/0005_auto_20210416_0841.py
  8. 65
      sigi/apps/diagnosticos/models.py
  9. 57
      sigi/apps/eventos/migrations/0006_auto_20210416_0841.py
  10. 53
      sigi/apps/eventos/models.py
  11. 6
      sigi/apps/financeiro/models.py
  12. 39
      sigi/apps/inventario/migrations/0003_auto_20210416_0841.py
  13. 23
      sigi/apps/inventario/models.py
  14. 19
      sigi/apps/metas/models.py
  15. 57
      sigi/apps/ocorrencias/migrations/0004_auto_20210416_0841.py
  16. 63
      sigi/apps/ocorrencias/models.py
  17. 33
      sigi/apps/parlamentares/migrations/0003_auto_20210416_0841.py
  18. 39
      sigi/apps/parlamentares/models.py
  19. 27
      sigi/apps/servicos/migrations/0007_auto_20210416_0841.py
  20. 36
      sigi/apps/servicos/models.py
  21. 33
      sigi/apps/servidores/migrations/0002_auto_20210416_0841.py
  22. 35
      sigi/apps/servidores/models.py

45
sigi/apps/casas/migrations/0017_auto_20210416_0841.py

@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('casas', '0016_auto_20210407_1559'),
]
operations = [
migrations.AlterField(
model_name='funcionario',
name='casa_legislativa',
field=models.ForeignKey(verbose_name='\xf3rg\xe3o', to='casas.Orgao'),
preserve_default=True,
),
migrations.AlterField(
model_name='funcionario',
name='municipio',
field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Municipio', blank=True, to='contatos.Municipio', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='orgao',
name='municipio',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Munic\xedpio', to='contatos.Municipio'),
preserve_default=True,
),
migrations.AlterField(
model_name='orgao',
name='pesquisador',
field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Pesquisador', blank=True, to='servidores.Servidor', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='orgao',
name='tipo',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Tipo', to='casas.TipoOrgao'),
preserve_default=True,
),
]

15
sigi/apps/casas/models.py

@ -51,7 +51,11 @@ class Orgao(models.Model):
# Guarda um campo para ser usado em buscas em caixa baixa e sem acento # Guarda um campo para ser usado em buscas em caixa baixa e sem acento
search_text = SearchField(field_names=['nome']) search_text = SearchField(field_names=['nome'])
# search_text.projeto_filter = True # search_text.projeto_filter = True
tipo = models.ForeignKey(TipoOrgao, verbose_name=_(u"Tipo")) tipo = models.ForeignKey(
TipoOrgao,
on_delete=models.PROTECT,
verbose_name=_(u"Tipo")
)
cnpj = models.CharField(_(u"CNPJ"), max_length=32, blank=True) cnpj = models.CharField(_(u"CNPJ"), max_length=32, blank=True)
observacoes = models.TextField(_(u'observações'), blank=True) observacoes = models.TextField(_(u'observações'), blank=True)
horario_funcionamento = models.CharField( horario_funcionamento = models.CharField(
@ -84,6 +88,7 @@ class Orgao(models.Model):
municipio = models.ForeignKey( municipio = models.ForeignKey(
'contatos.Municipio', 'contatos.Municipio',
on_delete=models.PROTECT,
verbose_name=_(u'Município') verbose_name=_(u'Município')
) )
# municipio.uf_filter = True # municipio.uf_filter = True
@ -108,6 +113,7 @@ class Orgao(models.Model):
) )
pesquisador = models.ForeignKey( pesquisador = models.ForeignKey(
Servidor, Servidor,
on_delete=models.SET_NULL,
verbose_name=_(u"Pesquisador"), verbose_name=_(u"Pesquisador"),
null=True, null=True,
blank=True blank=True
@ -350,7 +356,11 @@ class Funcionario(models.Model):
("F", _(u"Feminino")) ("F", _(u"Feminino"))
] ]
casa_legislativa = models.ForeignKey(Orgao) casa_legislativa = models.ForeignKey(
Orgao,
on_delete=models.CASCADE,
verbose_name=_(u"órgão"),
)
nome = models.CharField(_(u'nome completo'), max_length=60, blank=False) nome = models.CharField(_(u'nome completo'), max_length=60, blank=False)
# nome.alphabetic_filter = True # nome.alphabetic_filter = True
sexo = models.CharField( sexo = models.CharField(
@ -375,6 +385,7 @@ class Funcionario(models.Model):
endereco = models.CharField(_(u'Endereço'), max_length=100, blank=True) endereco = models.CharField(_(u'Endereço'), max_length=100, blank=True)
municipio = models.ForeignKey( municipio = models.ForeignKey(
Municipio, Municipio,
on_delete=models.SET_NULL,
verbose_name=_(u'Municipio'), verbose_name=_(u'Municipio'),
null=True, null=True,
blank=True, blank=True,

39
sigi/apps/contatos/migrations/0003_auto_20210416_0841.py

@ -0,0 +1,39 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('contatos', '0002_auto_20151104_0810'),
]
operations = [
migrations.AlterField(
model_name='contato',
name='municipio',
field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='munic\xedpio', blank=True, to='contatos.Municipio', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='endereco',
name='municipio',
field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='munic\xedpio', blank=True, to='contatos.Municipio', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='municipio',
name='microrregiao',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Microrregi\xe3o', blank=True, to='contatos.Microrregiao', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='municipio',
name='uf',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='UF', to='contatos.UnidadeFederativa'),
preserve_default=True,
),
]

31
sigi/apps/contatos/models.py

@ -51,7 +51,11 @@ class Mesorregiao(models.Model):
unique=True, unique=True,
help_text=_(u'Código da mesorregião segundo o IBGE') help_text=_(u'Código da mesorregião segundo o IBGE')
) )
uf = models.ForeignKey(UnidadeFederativa, verbose_name=_(u'UF')) uf = models.ForeignKey(
UnidadeFederativa,
on_delete=models.CASCADE,
verbose_name=_(u'UF')
)
nome = models.CharField(_(u"Nome mesorregião"), max_length=100) nome = models.CharField(_(u"Nome mesorregião"), max_length=100)
# Campo de busca em caixa baixa sem acento # Campo de busca em caixa baixa sem acento
search_text = SearchField(field_names=['nome']) search_text = SearchField(field_names=['nome'])
@ -62,7 +66,7 @@ class Mesorregiao(models.Model):
def __unicode__(self): def __unicode__(self):
return self.nome return self.nome
class Microrregiao(models.Model): class Microrregiao(models.Model):
codigo_ibge = models.PositiveIntegerField( codigo_ibge = models.PositiveIntegerField(
_(u'Código IBGE'), _(u'Código IBGE'),
@ -70,7 +74,10 @@ class Microrregiao(models.Model):
unique=True, unique=True,
help_text=_(u'Código da microrregião segundo o IBGE') help_text=_(u'Código da microrregião segundo o IBGE')
) )
mesorregiao = models.ForeignKey(Mesorregiao) mesorregiao = models.ForeignKey(
Mesorregiao,
on_delete=models.CASCADE
)
nome = models.CharField(_(u"Nome microrregião"), max_length=100) nome = models.CharField(_(u"Nome microrregião"), max_length=100)
# Campo de busca em caixa baixa sem acento # Campo de busca em caixa baixa sem acento
search_text = SearchField(field_names=['nome']) search_text = SearchField(field_names=['nome'])
@ -92,8 +99,14 @@ class Municipio(models.Model):
unique=True, unique=True,
help_text=_(u'Código do município segundo IBGE.') help_text=_(u'Código do município segundo IBGE.')
) )
microrregiao = models.ForeignKey(Microrregiao, verbose_name=_(u'Microrregião'), blank=True, null=True) microrregiao = models.ForeignKey(
Microrregiao,
on_delete=models.PROTECT,
verbose_name=_(u'Microrregião'),
blank=True,
null=True
)
# codio designado pelo Tribunal Superior Eleitoral # codio designado pelo Tribunal Superior Eleitoral
codigo_tse = models.PositiveIntegerField( codigo_tse = models.PositiveIntegerField(
@ -104,7 +117,11 @@ class Municipio(models.Model):
) )
nome = models.CharField(max_length=50) nome = models.CharField(max_length=50)
search_text = SearchField(field_names=[_(u'nome'), _(u'uf')]) search_text = SearchField(field_names=[_(u'nome'), _(u'uf')])
uf = models.ForeignKey(UnidadeFederativa, verbose_name=_(u'UF')) uf = models.ForeignKey(
UnidadeFederativa,
on_delete=models.PROTECT,
verbose_name=_(u'UF')
)
# verdadeiro se o município é capital do estado # verdadeiro se o município é capital do estado
is_capital = models.BooleanField(_(u'capital'), default=False) is_capital = models.BooleanField(_(u'capital'), default=False)
populacao = models.PositiveIntegerField(_(u'população')) populacao = models.PositiveIntegerField(_(u'população'))
@ -200,6 +217,7 @@ class Contato(models.Model):
municipio = models.ForeignKey( municipio = models.ForeignKey(
Municipio, Municipio,
on_delete=models.SET_NULL,
verbose_name=_(u'município'), verbose_name=_(u'município'),
blank=True, blank=True,
null=True, null=True,
@ -291,6 +309,7 @@ class Endereco(models.Model):
municipio = models.ForeignKey( municipio = models.ForeignKey(
Municipio, Municipio,
on_delete=models.SET_NULL,
verbose_name=_(u'município'), verbose_name=_(u'município'),
blank=True, blank=True,
null=True, null=True,

33
sigi/apps/convenios/migrations/0006_auto_20210416_0841.py

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('convenios', '0005_auto_20210409_0842'),
]
operations = [
migrations.AlterField(
model_name='convenio',
name='casa_legislativa',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='\xf3rg\xe3o conveniado', to='casas.Orgao'),
preserve_default=True,
),
migrations.AlterField(
model_name='convenio',
name='projeto',
field=models.ForeignKey(to='convenios.Projeto', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
migrations.AlterField(
model_name='tramitacao',
name='unid_admin',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Unidade Administrativa', to='convenios.UnidadeAdministrativa'),
preserve_default=True,
),
]

35
sigi/apps/convenios/models.py

@ -42,11 +42,15 @@ class Convenio(models.Model):
""" """
casa_legislativa = models.ForeignKey( casa_legislativa = models.ForeignKey(
'casas.Orgao', 'casas.Orgao',
on_delete=models.PROTECT,
verbose_name=_(u'órgão conveniado') verbose_name=_(u'órgão conveniado')
) )
# campo de busca em caixa baixa e sem acentos # campo de busca em caixa baixa e sem acentos
search_text = SearchField(field_names=['casa_legislativa']) search_text = SearchField(field_names=['casa_legislativa'])
projeto = models.ForeignKey(_(u'Projeto')) projeto = models.ForeignKey(
Projeto,
on_delete=models.PROTECT,
)
# numero designado pelo Senado Federal para o convênio # numero designado pelo Senado Federal para o convênio
num_processo_sf = models.CharField( num_processo_sf = models.CharField(
_(u'número do processo SF (Senado Federal)'), _(u'número do processo SF (Senado Federal)'),
@ -227,8 +231,15 @@ class EquipamentoPrevisto(models.Model):
disponibilizados para as Casas Legislativas disponibilizados para as Casas Legislativas
(foi usado na prmeira etapa do programa) (foi usado na prmeira etapa do programa)
""" """
convenio = models.ForeignKey(Convenio, verbose_name=_(u'convênio')) convenio = models.ForeignKey(
equipamento = models.ForeignKey('inventario.Equipamento') Convenio,
on_delete=models.CASCADE,
verbose_name=_(u'convênio')
)
equipamento = models.ForeignKey(
'inventario.Equipamento',
on_delete=models.CASCADE
)
quantidade = models.PositiveSmallIntegerField(default=1) quantidade = models.PositiveSmallIntegerField(default=1)
class Meta: class Meta:
@ -244,7 +255,11 @@ class Anexo(models.Model):
""" Modelo para giardar os documentos gerados """ Modelo para giardar os documentos gerados
no processo de convênio no processo de convênio
""" """
convenio = models.ForeignKey(Convenio, verbose_name=_(u'convênio')) convenio = models.ForeignKey(
Convenio,
on_delete=models.CASCADE,
verbose_name=_(u'convênio')
)
# caminho no sistema para o documento anexo # caminho no sistema para o documento anexo
arquivo = models.FileField(upload_to='apps/convenios/anexo/arquivo', max_length=500) arquivo = models.FileField(upload_to='apps/convenios/anexo/arquivo', max_length=500)
descricao = models.CharField(_(u'descrição'), max_length='70') descricao = models.CharField(_(u'descrição'), max_length='70')
@ -278,8 +293,16 @@ class Tramitacao(models.Model):
""" Modelo para registrar as vias do processo de convênio e a Unidade """ Modelo para registrar as vias do processo de convênio e a Unidade
responsável pelo tramite (ex. colher assinaturas do secretário do senado) responsável pelo tramite (ex. colher assinaturas do secretário do senado)
""" """
convenio = models.ForeignKey(Convenio, verbose_name=_(u'convênio')) convenio = models.ForeignKey(
unid_admin = models.ForeignKey(UnidadeAdministrativa, verbose_name=_(u'Unidade Administrativa')) Convenio,
on_delete=models.CASCADE,
verbose_name=_(u'convênio')
)
unid_admin = models.ForeignKey(
UnidadeAdministrativa,
on_delete=models.PROTECT,
verbose_name=_(u'Unidade Administrativa')
)
data = models.DateField() data = models.DateField()
observacao = models.CharField( observacao = models.CharField(
_(u'observação'), _(u'observação'),

51
sigi/apps/diagnosticos/migrations/0005_auto_20210416_0841.py

@ -0,0 +1,51 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('diagnosticos', '0004_auto_20210406_1945'),
]
operations = [
migrations.AlterField(
model_name='diagnostico',
name='casa_legislativa',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Casa Legislativa', to='casas.Orgao'),
preserve_default=True,
),
migrations.AlterField(
model_name='diagnostico',
name='responsavel',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='respons\xe1vel', to='servidores.Servidor'),
preserve_default=True,
),
migrations.AlterField(
model_name='equipe',
name='membro',
field=models.ForeignKey(to='servidores.Servidor', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
migrations.AlterField(
model_name='escolha',
name='schema_to_open',
field=models.ForeignKey(related_name='abre_por', on_delete=django.db.models.deletion.SET_NULL, verbose_name='pergunta para abrir', blank=True, to='diagnosticos.Pergunta', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='resposta',
name='choice',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='escolha', blank=True, to='diagnosticos.Escolha', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='resposta',
name='schema',
field=models.ForeignKey(related_name='attrs', on_delete=django.db.models.deletion.PROTECT, verbose_name='pergunta', to='diagnosticos.Pergunta'),
preserve_default=True,
),
]

65
sigi/apps/diagnosticos/models.py

@ -15,7 +15,9 @@ class Diagnostico(BaseEntity):
""" """
casa_legislativa = models.ForeignKey( casa_legislativa = models.ForeignKey(
'casas.Orgao', 'casas.Orgao',
verbose_name=_(u'Casa Legislativa')) on_delete=models.PROTECT,
verbose_name=_(u'Casa Legislativa')
)
# campo de busca em caixa baixa e sem acento # campo de busca em caixa baixa e sem acento
search_text = SearchField(field_names=['casa_legislativa']) search_text = SearchField(field_names=['casa_legislativa'])
@ -38,8 +40,11 @@ class Diagnostico(BaseEntity):
blank=True, blank=True,
) )
responsavel = models.ForeignKey('servidores.Servidor', responsavel = models.ForeignKey(
verbose_name=_(u'responsável')) 'servidores.Servidor',
on_delete=models.PROTECT,
verbose_name=_(u'responsável')
)
class Meta: class Meta:
verbose_name, verbose_name_plural = _(u'diagnóstico'), _(u'diagnósticos') verbose_name, verbose_name_plural = _(u'diagnóstico'), _(u'diagnósticos')
@ -156,7 +161,11 @@ class Pergunta(BaseSchema):
Uma pergunta tem o nome e o tipo da resposta Uma pergunta tem o nome e o tipo da resposta
""" """
categoria = models.ForeignKey(Categoria, related_name='perguntas') categoria = models.ForeignKey(
Categoria,
on_delete=models.CASCADE,
related_name='perguntas'
)
def group_choices(self): def group_choices(self):
from django.db import connection, transaction from django.db import connection, transaction
@ -196,10 +205,20 @@ class Escolha(BaseChoice):
""" Perguntas de multiplas escolhas tem as opções """ Perguntas de multiplas escolhas tem as opções
cadastradas neste modelo cadastradas neste modelo
""" """
schema = models.ForeignKey(Pergunta, schema = models.ForeignKey(
related_name='choices', verbose_name=_(u'pergunta')) Pergunta,
schema_to_open = models.ForeignKey(Pergunta, related_name='abre_por', on_delete=models.CASCADE,
verbose_name=_(u'pergunta para abrir'), blank=True, null=True) related_name='choices',
verbose_name=_(u'pergunta')
)
schema_to_open = models.ForeignKey(
Pergunta,
on_delete=models.SET_NULL,
related_name='abre_por',
verbose_name=_(u'pergunta para abrir'),
blank=True,
null=True
)
ordem = models.PositiveIntegerField(blank=True, null=True) ordem = models.PositiveIntegerField(blank=True, null=True)
class Meta: class Meta:
@ -212,10 +231,19 @@ class Resposta(BaseAttribute):
""" Modelo para guardar as respostas das perguntas """ Modelo para guardar as respostas das perguntas
de um diagnosico de um diagnosico
""" """
schema = models.ForeignKey(Pergunta, related_name='attrs', schema = models.ForeignKey(
verbose_name=_(u'pergunta')) Pergunta,
choice = models.ForeignKey(Escolha, verbose_name=_(u'escolha'), on_delete=models.PROTECT,
blank=True, null=True) related_name='attrs',
verbose_name=_(u'pergunta')
)
choice = models.ForeignKey(
Escolha,
on_delete=models.PROTECT,
verbose_name=_(u'escolha'),
blank=True,
null=True
)
class Meta: class Meta:
verbose_name, verbose_name_plural = _(u'resposta'), _(u'respostas') verbose_name, verbose_name_plural = _(u'resposta'), _(u'respostas')
@ -225,8 +253,11 @@ class Equipe(models.Model):
""" Modelo que representa a equipe de um diagnóstico """ Modelo que representa a equipe de um diagnóstico
""" """
diagnostico = models.ForeignKey(Diagnostico) diagnostico = models.ForeignKey(Diagnostico, on_delete=models.CASCADE)
membro = models.ForeignKey('servidores.Servidor') membro = models.ForeignKey(
'servidores.Servidor',
on_delete=models.PROTECT
)
class Meta: class Meta:
verbose_name, verbose_name_plural = _(u'equipe'), _(u'equipe') verbose_name, verbose_name_plural = _(u'equipe'), _(u'equipe')
@ -240,7 +271,11 @@ class Anexo(models.Model):
""" Modelo para representar os documentos levantados """ Modelo para representar os documentos levantados
no processo de diagnóstico. Podem ser fotos, contratos, etc. no processo de diagnóstico. Podem ser fotos, contratos, etc.
""" """
diagnostico = models.ForeignKey(Diagnostico, verbose_name=u'diagnóstico') diagnostico = models.ForeignKey(
Diagnostico,
on_delete=models.CASCADE,
verbose_name=u'diagnóstico'
)
arquivo = models.FileField(upload_to='apps/diagnostico/anexo/arquivo', max_length=500) arquivo = models.FileField(upload_to='apps/diagnostico/anexo/arquivo', max_length=500)
descricao = models.CharField(_(u'descrição'), max_length='70') descricao = models.CharField(_(u'descrição'), max_length='70')
data_pub = models.DateTimeField(_(u'data da publicação do anexo'), data_pub = models.DateTimeField(_(u'data da publicação do anexo'),

57
sigi/apps/eventos/migrations/0006_auto_20210416_0841.py

@ -0,0 +1,57 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('eventos', '0005_auto_20210406_1945'),
]
operations = [
migrations.AlterField(
model_name='convite',
name='casa',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Casa convidada', to='casas.Orgao'),
preserve_default=True,
),
migrations.AlterField(
model_name='convite',
name='servidor',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Servidor que convidou', to='servidores.Servidor'),
preserve_default=True,
),
migrations.AlterField(
model_name='equipe',
name='funcao',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Fun\xe7\xe3o na equipe', to='eventos.Funcao'),
preserve_default=True,
),
migrations.AlterField(
model_name='equipe',
name='membro',
field=models.ForeignKey(related_name='equipe_evento', on_delete=django.db.models.deletion.PROTECT, to='servidores.Servidor'),
preserve_default=True,
),
migrations.AlterField(
model_name='evento',
name='casa_anfitria',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Casa anfitri\xe3', blank=True, to='casas.Orgao', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='evento',
name='municipio',
field=models.ForeignKey(to='contatos.Municipio', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
migrations.AlterField(
model_name='evento',
name='tipo_evento',
field=models.ForeignKey(to='eventos.TipoEvento', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
]

53
sigi/apps/eventos/models.py

@ -27,15 +27,26 @@ class Evento(models.Model):
('C', _(u"Cancelado")) ('C', _(u"Cancelado"))
) )
tipo_evento = models.ForeignKey(TipoEvento) tipo_evento = models.ForeignKey(
TipoEvento,
on_delete=models.PROTECT,
)
nome = models.CharField(_(u"Nome do evento"), max_length=100) nome = models.CharField(_(u"Nome do evento"), max_length=100)
descricao = models.TextField(_(u"Descrição do evento")) descricao = models.TextField(_(u"Descrição do evento"))
solicitante = models.CharField(_(u"Solicitante"), max_length=100) solicitante = models.CharField(_(u"Solicitante"), max_length=100)
data_inicio = models.DateField(_(u"Data de início")) data_inicio = models.DateField(_(u"Data de início"))
data_termino = models.DateField(_(u"Data de término")) data_termino = models.DateField(_(u"Data de término"))
casa_anfitria = models.ForeignKey(Orgao, verbose_name=_(u"Casa anfitriã"), blank=True, casa_anfitria = models.ForeignKey(
null=True) Orgao,
municipio = models.ForeignKey(Municipio) on_delete=models.PROTECT,
verbose_name=_(u"Casa anfitriã"),
blank=True,
null=True
)
municipio = models.ForeignKey(
Municipio,
on_delete=models.PROTECT
)
local = models.TextField(_(u"Local do evento"), blank=True) local = models.TextField(_(u"Local do evento"), blank=True)
publico_alvo = models.TextField(_(u"Público alvo"), blank=True) publico_alvo = models.TextField(_(u"Público alvo"), blank=True)
status = models.CharField(_(u"Status"), max_length=1, choices=STATUS_CHOICES) status = models.CharField(_(u"Status"), max_length=1, choices=STATUS_CHOICES)
@ -73,9 +84,20 @@ class Funcao(models.Model):
return self.nome return self.nome
class Equipe(models.Model): class Equipe(models.Model):
evento = models.ForeignKey(Evento) evento = models.ForeignKey(
membro = models.ForeignKey(Servidor, related_name="equipe_evento") Evento,
funcao = models.ForeignKey(Funcao, verbose_name=_(u"Função na equipe")) on_delete=models.CASCADE
)
membro = models.ForeignKey(
Servidor,
on_delete=models.PROTECT,
related_name="equipe_evento"
)
funcao = models.ForeignKey(
Funcao,
on_delete=models.PROTECT,
verbose_name=_(u"Função na equipe")
)
observacoes = models.TextField(_(u"Observações"), blank=True) observacoes = models.TextField(_(u"Observações"), blank=True)
class Meta: class Meta:
@ -86,9 +108,20 @@ class Equipe(models.Model):
return u"%s (%s)" % (unicode(self.membro), unicode(self.funcao),) return u"%s (%s)" % (unicode(self.membro), unicode(self.funcao),)
class Convite(models.Model): class Convite(models.Model):
evento = models.ForeignKey(Evento) evento = models.ForeignKey(
casa = models.ForeignKey(Orgao, verbose_name=_(u"Casa convidada")) Evento,
servidor = models.ForeignKey(Servidor, verbose_name=_(u"Servidor que convidou")) on_delete=models.CASCADE
)
casa = models.ForeignKey(
Orgao,
on_delete=models.PROTECT,
verbose_name=_(u"Casa convidada")
)
servidor = models.ForeignKey(
Servidor,
on_delete=models.PROTECT,
verbose_name=_(u"Servidor que convidou")
)
data_convite = models.DateField(_(u"Data do convite")) data_convite = models.DateField(_(u"Data do convite"))
aceite = models.BooleanField(_("Aceitou o convite"), default=False) aceite = models.BooleanField(_("Aceitou o convite"), default=False)
participou = models.BooleanField(_(u"Participou do evento"), default=False) participou = models.BooleanField(_(u"Participou do evento"), default=False)

6
sigi/apps/financeiro/models.py

@ -6,7 +6,11 @@ from sigi.apps.convenios.models import Projeto
class Desembolso(models.Model): class Desembolso(models.Model):
projeto = models.ForeignKey(Projeto, verbose_name=_(u'Projeto')) projeto = models.ForeignKey(
Projeto,
on_delete=models.CASCADE,
verbose_name=_(u'Projeto')
)
descricao = models.CharField(_(u'Descrição da despesa'), max_length=100) descricao = models.CharField(_(u'Descrição da despesa'), max_length=100)
data = models.DateField(_(u'Data do desembolso')) data = models.DateField(_(u'Data do desembolso'))
valor_reais = models.DecimalField(_(u'Valor em R$'), max_digits=18, decimal_places=2) valor_reais = models.DecimalField(_(u'Valor em R$'), max_digits=18, decimal_places=2)

39
sigi/apps/inventario/migrations/0003_auto_20210416_0841.py

@ -0,0 +1,39 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('inventario', '0002_auto_20210406_1945'),
]
operations = [
migrations.AlterField(
model_name='bem',
name='fornecedor',
field=models.ForeignKey(to='inventario.Fornecedor', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
migrations.AlterField(
model_name='equipamento',
name='fabricante',
field=models.ForeignKey(to='inventario.Fabricante', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
migrations.AlterField(
model_name='equipamento',
name='modelo',
field=models.ForeignKey(to='inventario.ModeloEquipamento', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
migrations.AlterField(
model_name='modeloequipamento',
name='tipo',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='tipo de equipamento', to='inventario.TipoEquipamento'),
preserve_default=True,
),
]

23
sigi/apps/inventario/models.py

@ -46,6 +46,7 @@ class TipoEquipamento(models.Model):
class ModeloEquipamento(models.Model): class ModeloEquipamento(models.Model):
tipo = models.ForeignKey( tipo = models.ForeignKey(
TipoEquipamento, TipoEquipamento,
on_delete=models.PROTECT,
verbose_name=_(u'tipo de equipamento') verbose_name=_(u'tipo de equipamento')
) )
modelo = models.CharField(max_length=30) modelo = models.CharField(max_length=30)
@ -60,8 +61,14 @@ class ModeloEquipamento(models.Model):
class Equipamento(models.Model): class Equipamento(models.Model):
fabricante = models.ForeignKey(Fabricante) fabricante = models.ForeignKey(
modelo = models.ForeignKey(ModeloEquipamento) Fabricante,
on_delete=models.PROTECT
)
modelo = models.ForeignKey(
ModeloEquipamento,
on_delete=models.PROTECT
)
class Meta: class Meta:
unique_together = (('fabricante', 'modelo'),) unique_together = (('fabricante', 'modelo'),)
@ -72,9 +79,15 @@ class Equipamento(models.Model):
class Bem(models.Model): class Bem(models.Model):
casa_legislativa = models.ForeignKey('casas.Orgao') casa_legislativa = models.ForeignKey(
equipamento = models.ForeignKey(Equipamento) 'casas.Orgao',
fornecedor = models.ForeignKey(Fornecedor) on_delete=models.CASCADE
)
equipamento = models.ForeignKey(Equipamento, on_delete=models.CASCADE)
fornecedor = models.ForeignKey(
Fornecedor,
on_delete=models.PROTECT
)
num_serie = models.CharField( num_serie = models.CharField(
_(u'número de série'), _(u'número de série'),
max_length=64, max_length=64,

19
sigi/apps/metas/models.py

@ -18,7 +18,12 @@ class Meta(models.Model):
('COUNT_PDIR', _(u'Quantidade de planos diretores')), ('COUNT_PDIR', _(u'Quantidade de planos diretores')),
('COUNT_CONV', _(u'Quantidade de casas conveniadas')), ('COUNT_CONV', _(u'Quantidade de casas conveniadas')),
) )
projeto = models.ForeignKey(Projeto, verbose_name=_(u'Projeto'), help_text=_(u'Projeto ao qual a meta se refere')) projeto = models.ForeignKey(
Projeto,
on_delete=models.CASCADE,
verbose_name=_(u'Projeto'),
help_text=_(u'Projeto ao qual a meta se refere')
)
titulo = models.CharField(_(u'Título'), max_length=40, help_text=_(u'Título da meta que aparecerá no dashboard')) titulo = models.CharField(_(u'Título'), max_length=40, help_text=_(u'Título da meta que aparecerá no dashboard'))
descricao = models.TextField(_(u'Descrição')) descricao = models.TextField(_(u'Descrição'))
data_inicio = models.DateField(_(u'Data inicial'), help_text=_(u'Início do período de cômputo da meta')) data_inicio = models.DateField(_(u'Data inicial'), help_text=_(u'Início do período de cômputo da meta'))
@ -114,8 +119,16 @@ class PlanoDiretor(models.Model):
('E', _(u'Entregue')), ('E', _(u'Entregue')),
('I', _(u'Implantado')), ('I', _(u'Implantado')),
) )
projeto = models.ForeignKey(Projeto, verbose_name=_(u'Projeto')) projeto = models.ForeignKey(
casa_legislativa = models.ForeignKey(Orgao, verbose_name=_(u'Casa Legislativa')) Projeto,
on_delete=models.CASCADE,
verbose_name=_(u'Projeto')
)
casa_legislativa = models.ForeignKey(
Orgao,
on_delete=models.CASCADE,
verbose_name=_(u'Casa Legislativa')
)
casa_legislativa.casa_uf_filter = True casa_legislativa.casa_uf_filter = True
status = models.CharField(_(u'Status'), max_length=1, choices=STATUS_CHOICE, default='E') status = models.CharField(_(u'Status'), max_length=1, choices=STATUS_CHOICE, default='E')
data_entrega = models.DateField(_(u'Data de entrega'), blank=True, null=True) data_entrega = models.DateField(_(u'Data de entrega'), blank=True, null=True)

57
sigi/apps/ocorrencias/migrations/0004_auto_20210416_0841.py

@ -0,0 +1,57 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('ocorrencias', '0003_auto_20210406_1945'),
]
operations = [
migrations.AlterField(
model_name='categoria',
name='setor_responsavel',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Setor respons\xe1vel', to='servidores.Servico'),
preserve_default=True,
),
migrations.AlterField(
model_name='comentario',
name='encaminhar_setor',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Encaminhar para setor', blank=True, to='servidores.Servico', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='comentario',
name='usuario',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Usu\xe1rio', to='servidores.Servidor'),
preserve_default=True,
),
migrations.AlterField(
model_name='ocorrencia',
name='categoria',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Categoria', to='ocorrencias.Categoria'),
preserve_default=True,
),
migrations.AlterField(
model_name='ocorrencia',
name='servidor_registro',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Servidor que registrou a ocorr\xeancia', to='servidores.Servidor'),
preserve_default=True,
),
migrations.AlterField(
model_name='ocorrencia',
name='setor_responsavel',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Setor respons\xe1vel', to='servidores.Servico'),
preserve_default=True,
),
migrations.AlterField(
model_name='ocorrencia',
name='tipo_contato',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Tipo de contato', to='ocorrencias.TipoContato'),
preserve_default=True,
),
]

63
sigi/apps/ocorrencias/models.py

@ -9,7 +9,11 @@ from django.utils.safestring import mark_safe
class Categoria(models.Model): class Categoria(models.Model):
nome = models.CharField(_(u"Categoria"), max_length=50) nome = models.CharField(_(u"Categoria"), max_length=50)
descricao = models.TextField(_(u'descrição'), blank=True, null=True) descricao = models.TextField(_(u'descrição'), blank=True, null=True)
setor_responsavel = models.ForeignKey('servidores.Servico', verbose_name=_(u"Setor responsável")) setor_responsavel = models.ForeignKey(
'servidores.Servico',
on_delete=models.PROTECT,
verbose_name=_(u"Setor responsável")
)
class Meta: class Meta:
verbose_name, verbose_name_plural = _(u'Categoria'), _(u'Categorias') verbose_name, verbose_name_plural = _(u'Categoria'), _(u'Categorias')
@ -51,13 +55,25 @@ class Ocorrencia(models.Model):
(5, _(u'Baixíssimo')), (5, _(u'Baixíssimo')),
) )
casa_legislativa = models.ForeignKey('casas.Orgao', verbose_name=_(u'Casa Legislativa')) casa_legislativa = models.ForeignKey(
'casas.Orgao',
on_delete=models.CASCADE,
verbose_name=_(u'Casa Legislativa')
)
casa_legislativa.convenio_uf_filter = True casa_legislativa.convenio_uf_filter = True
casa_legislativa.convenio_cl_tipo_filter = True casa_legislativa.convenio_cl_tipo_filter = True
data_criacao = models.DateField(_(u'Data de criação'), null=True, blank=True, auto_now_add=True) data_criacao = models.DateField(_(u'Data de criação'), null=True, blank=True, auto_now_add=True)
data_modificacao = models.DateField(_(u'Data de modificação'), null=True, blank=True, auto_now=True) data_modificacao = models.DateField(_(u'Data de modificação'), null=True, blank=True, auto_now=True)
categoria = models.ForeignKey(Categoria, verbose_name=_(u'Categoria')) categoria = models.ForeignKey(
tipo_contato = models.ForeignKey(TipoContato, verbose_name=_(u"Tipo de contato")) Categoria,
on_delete=models.PROTECT,
verbose_name=_(u'Categoria')
)
tipo_contato = models.ForeignKey(
TipoContato,
on_delete=models.PROTECT,
verbose_name=_(u"Tipo de contato")
)
assunto = models.CharField(_(u'Assunto'), max_length=200) assunto = models.CharField(_(u'Assunto'), max_length=200)
assunto.grupo_filter = True assunto.grupo_filter = True
status = models.IntegerField(_(u'Status'), choices=STATUS_CHOICES, default=1,) status = models.IntegerField(_(u'Status'), choices=STATUS_CHOICES, default=1,)
@ -65,8 +81,16 @@ class Ocorrencia(models.Model):
prioridade = models.IntegerField(_(u'Prioridade'), choices=PRIORITY_CHOICES, default=3, ) prioridade = models.IntegerField(_(u'Prioridade'), choices=PRIORITY_CHOICES, default=3, )
descricao = models.TextField(_(u'descrição'), blank=True,) descricao = models.TextField(_(u'descrição'), blank=True,)
resolucao = models.TextField(_(u'resolução'), blank=True,) resolucao = models.TextField(_(u'resolução'), blank=True,)
servidor_registro = models.ForeignKey('servidores.Servidor', verbose_name=_(u"Servidor que registrou a ocorrência")) servidor_registro = models.ForeignKey(
setor_responsavel = models.ForeignKey('servidores.Servico', verbose_name=_(u"Setor responsável")) 'servidores.Servidor',
on_delete=models.PROTECT,
verbose_name=_(u"Servidor que registrou a ocorrência")
)
setor_responsavel = models.ForeignKey(
'servidores.Servico',
on_delete=models.PROTECT,
verbose_name=_(u"Setor responsável")
)
ticket = models.PositiveIntegerField(_(u'Número do ticket'), blank=True, null=True, help_text=_(u"Número do ticket no osTicket")) ticket = models.PositiveIntegerField(_(u'Número do ticket'), blank=True, null=True, help_text=_(u"Número do ticket no osTicket"))
class Meta: class Meta:
@ -85,12 +109,27 @@ class Ocorrencia(models.Model):
return mark_safe(settings.OSTICKET_URL % self.ticket) return mark_safe(settings.OSTICKET_URL % self.ticket)
class Comentario(models.Model): class Comentario(models.Model):
ocorrencia = models.ForeignKey(Ocorrencia, verbose_name=_(u'Ocorrência'), related_name='comentarios') ocorrencia = models.ForeignKey(
Ocorrencia,
on_delete=models.CASCADE,
verbose_name=_(u'Ocorrência'),
related_name='comentarios'
)
data_criacao = models.DateTimeField(_(u'Data de criação'), null=True, blank=True, auto_now_add=True) data_criacao = models.DateTimeField(_(u'Data de criação'), null=True, blank=True, auto_now_add=True)
descricao = models.TextField(_(u'Descrição'), blank=True, null=True) descricao = models.TextField(_(u'Descrição'), blank=True, null=True)
usuario = models.ForeignKey('servidores.Servidor', verbose_name=_(u'Usuário')) usuario = models.ForeignKey(
'servidores.Servidor',
on_delete=models.PROTECT,
verbose_name=_(u'Usuário')
)
novo_status = models.IntegerField(_(u'Novo status'), choices=Ocorrencia.STATUS_CHOICES, blank=True, null=True) novo_status = models.IntegerField(_(u'Novo status'), choices=Ocorrencia.STATUS_CHOICES, blank=True, null=True)
encaminhar_setor = models.ForeignKey('servidores.Servico', verbose_name=_(u'Encaminhar para setor'), blank=True, null=True) encaminhar_setor = models.ForeignKey(
'servidores.Servico',
on_delete=models.PROTECT,
verbose_name=_(u'Encaminhar para setor'),
blank=True,
null=True
)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if self.encaminhar_setor and (self.encaminhar_setor != self.ocorrencia.setor_responsavel): if self.encaminhar_setor and (self.encaminhar_setor != self.ocorrencia.setor_responsavel):
@ -103,7 +142,11 @@ class Comentario(models.Model):
class Anexo(models.Model): class Anexo(models.Model):
ocorrencia = models.ForeignKey(Ocorrencia, verbose_name=_(u'ocorrência')) ocorrencia = models.ForeignKey(
Ocorrencia,
on_delete=models.CASCADE,
verbose_name=_(u'ocorrência')
)
arquivo = models.FileField(_(u'Arquivo anexado'), upload_to='apps/ocorrencia/anexo/arquivo', max_length=500) arquivo = models.FileField(_(u'Arquivo anexado'), upload_to='apps/ocorrencia/anexo/arquivo', max_length=500)
descricao = models.CharField(_(u'descrição do anexo'), max_length='70') descricao = models.CharField(_(u'descrição do anexo'), max_length='70')
data_pub = models.DateTimeField(_(u'data da publicação do anexo'), null=True, blank=True, auto_now_add=True) data_pub = models.DateTimeField(_(u'data da publicação do anexo'), null=True, blank=True, auto_now_add=True)

33
sigi/apps/parlamentares/migrations/0003_auto_20210416_0841.py

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0002_auto_20210406_1945'),
]
operations = [
migrations.AlterField(
model_name='mandato',
name='cargo',
field=models.ForeignKey(to='parlamentares.Cargo', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
migrations.AlterField(
model_name='membromesadiretora',
name='cargo',
field=models.ForeignKey(to='parlamentares.Cargo', on_delete=django.db.models.deletion.PROTECT),
preserve_default=True,
),
migrations.AlterField(
model_name='sessaolegislativa',
name='mesa_diretora',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Mesa Diretora', to='parlamentares.MesaDiretora'),
preserve_default=True,
),
]

39
sigi/apps/parlamentares/models.py

@ -59,10 +59,13 @@ class Mandato(models.Model):
('T', _(u'Titular')), ('T', _(u'Titular')),
('S', _(u'Suplente')), ('S', _(u'Suplente')),
) )
parlamentar = models.ForeignKey(Parlamentar) parlamentar = models.ForeignKey(Parlamentar, on_delete=models.CASCADE)
legislatura = models.ForeignKey('parlamentares.Legislatura') legislatura = models.ForeignKey(
partido = models.ForeignKey(Partido) 'parlamentares.Legislatura',
cargo = models.ForeignKey('parlamentares.Cargo') on_delete=models.CASCADE
)
partido = models.ForeignKey(Partido, on_delete=models.CASCADE)
cargo = models.ForeignKey('parlamentares.Cargo', on_delete=models.PROTECT)
inicio_mandato = models.DateField(_(u'início de mandato')) inicio_mandato = models.DateField(_(u'início de mandato'))
fim_mandato = models.DateField(_(u'fim de mandato')) fim_mandato = models.DateField(_(u'fim de mandato'))
is_afastado = models.BooleanField( is_afastado = models.BooleanField(
@ -82,7 +85,7 @@ class Mandato(models.Model):
class Legislatura(models.Model): class Legislatura(models.Model):
casa_legislativa = models.ForeignKey(Orgao) casa_legislativa = models.ForeignKey(Orgao, on_delete=models.CASCADE)
numero = models.PositiveSmallIntegerField(_(u'número legislatura')) numero = models.PositiveSmallIntegerField(_(u'número legislatura'))
data_inicio = models.DateField(_(u'início')) data_inicio = models.DateField(_(u'início'))
data_fim = models.DateField(_(u'fim')) data_fim = models.DateField(_(u'fim'))
@ -106,7 +109,7 @@ class Legislatura(models.Model):
class Coligacao(models.Model): class Coligacao(models.Model):
nome = models.CharField(max_length=50) nome = models.CharField(max_length=50)
legislatura = models.ForeignKey(Legislatura) legislatura = models.ForeignKey(Legislatura, on_delete=models.CASCADE)
numero_votos = models.PositiveIntegerField( numero_votos = models.PositiveIntegerField(
_(u'número de votos'), _(u'número de votos'),
blank=True, blank=True,
@ -123,8 +126,15 @@ class Coligacao(models.Model):
class ComposicaoColigacao(models.Model): class ComposicaoColigacao(models.Model):
coligacao = models.ForeignKey(Coligacao, verbose_name=_(u'coligação')) coligacao = models.ForeignKey(
partido = models.ForeignKey('parlamentares.Partido') Coligacao,
on_delete=models.CASCADE,
verbose_name=_(u'coligação')
)
partido = models.ForeignKey(
'parlamentares.Partido',
on_delete=models.CASCADE
)
class Meta: class Meta:
verbose_name = _(u'composição da coligação') verbose_name = _(u'composição da coligação')
@ -142,9 +152,10 @@ class SessaoLegislativa(models.Model):
numero = models.PositiveSmallIntegerField(_(u'número da sessão'), unique=True) numero = models.PositiveSmallIntegerField(_(u'número da sessão'), unique=True)
mesa_diretora = models.ForeignKey( mesa_diretora = models.ForeignKey(
'MesaDiretora', 'MesaDiretora',
on_delete=models.PROTECT,
verbose_name=_(u'Mesa Diretora') verbose_name=_(u'Mesa Diretora')
) )
legislatura = models.ForeignKey(Legislatura) legislatura = models.ForeignKey(Legislatura, on_delete=models.CASCADE)
tipo = models.CharField( tipo = models.CharField(
max_length=1, max_length=1,
choices=SESSAO_CHOICES, choices=SESSAO_CHOICES,
@ -175,6 +186,7 @@ class SessaoLegislativa(models.Model):
class MesaDiretora(models.Model): class MesaDiretora(models.Model):
casa_legislativa = models.ForeignKey( casa_legislativa = models.ForeignKey(
'casas.Orgao', 'casas.Orgao',
on_delete=models.CASCADE,
verbose_name=_(u'Casa Legislativa') verbose_name=_(u'Casa Legislativa')
) )
@ -197,9 +209,12 @@ class Cargo(models.Model):
class MembroMesaDiretora(models.Model): class MembroMesaDiretora(models.Model):
parlamentar = models.ForeignKey('parlamentares.Parlamentar') parlamentar = models.ForeignKey(
cargo = models.ForeignKey(Cargo) 'parlamentares.Parlamentar',
mesa_diretora = models.ForeignKey(MesaDiretora) on_delete=models.CASCADE
)
cargo = models.ForeignKey(Cargo, on_delete=models.PROTECT)
mesa_diretora = models.ForeignKey(MesaDiretora, on_delete=models.CASCADE)
class Meta: class Meta:
ordering = ('parlamentar',) ordering = ('parlamentar',)

27
sigi/apps/servicos/migrations/0007_auto_20210416_0841.py

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('servicos', '0006_casaatendida'),
]
operations = [
migrations.AlterField(
model_name='servico',
name='casa_legislativa',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Casa Legislativa', to='casas.Orgao'),
preserve_default=True,
),
migrations.AlterField(
model_name='servico',
name='tipo_servico',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, verbose_name='Tipo de servi\xe7o', to='servicos.TipoServico'),
preserve_default=True,
),
]

36
sigi/apps/servicos/models.py

@ -37,10 +37,28 @@ class TipoServico(models.Model):
class Servico(models.Model): class Servico(models.Model):
casa_legislativa = models.ForeignKey(Orgao, verbose_name=_(u'Casa Legislativa')) casa_legislativa = models.ForeignKey(
tipo_servico = models.ForeignKey(TipoServico, verbose_name=_(u'Tipo de serviço')) Orgao,
contato_tecnico = models.ForeignKey(Funcionario, verbose_name=_(u'Contato técnico'), related_name='contato_tecnico', on_delete=models.PROTECT) on_delete=models.PROTECT,
contato_administrativo = models.ForeignKey(Funcionario, verbose_name=_(u'Contato administrativo'), related_name='contato_administrativo', on_delete=models.PROTECT) verbose_name=_(u'Casa Legislativa')
)
tipo_servico = models.ForeignKey(
TipoServico,
on_delete=models.PROTECT,
verbose_name=_(u'Tipo de serviço')
)
contato_tecnico = models.ForeignKey(
Funcionario,
on_delete=models.PROTECT,
verbose_name=_(u'Contato técnico'),
related_name='contato_tecnico'
)
contato_administrativo = models.ForeignKey(
Funcionario,
on_delete=models.PROTECT,
verbose_name=_(u'Contato administrativo'),
related_name='contato_administrativo'
)
url = models.URLField(_(u'URL do serviço'), blank=True) url = models.URLField(_(u'URL do serviço'), blank=True)
hospedagem_interlegis = models.BooleanField(_(u'Hospedagem no Interlegis?'), default=False) hospedagem_interlegis = models.BooleanField(_(u'Hospedagem no Interlegis?'), default=False)
nome_servidor = models.CharField(_(u'Hospedado em'), max_length=60, blank=True, nome_servidor = models.CharField(_(u'Hospedado em'), max_length=60, blank=True,
@ -162,7 +180,11 @@ class Servico(models.Model):
class LogServico(models.Model): class LogServico(models.Model):
servico = models.ForeignKey(Servico, verbose_name=_(u'Serviço')) servico = models.ForeignKey(
Servico,
on_delete=models.CASCADE,
verbose_name=_(u'Serviço')
)
descricao = models.CharField(_(u'Breve descrição da ação'), max_length=60) descricao = models.CharField(_(u'Breve descrição da ação'), max_length=60)
data = models.DateField(_(u'Data da ação'), default=date.today) data = models.DateField(_(u'Data da ação'), default=date.today)
log = models.TextField(_(u'Log da ação')) log = models.TextField(_(u'Log da ação'))
@ -202,8 +224,8 @@ class CasaManifesta(models.Model):
class ServicoManifesto(models.Model): class ServicoManifesto(models.Model):
casa_manifesta = models.ForeignKey(CasaManifesta) casa_manifesta = models.ForeignKey(CasaManifesta, on_delete=models.CASCADE)
servico = models.ForeignKey(TipoServico) servico = models.ForeignKey(TipoServico, on_delete=models.CASCADE)
url = models.URLField(blank=True) url = models.URLField(blank=True)
hospedagem_interlegis = models.BooleanField(_(u'Hospedagem no Interlegis?'), default=False) hospedagem_interlegis = models.BooleanField(_(u'Hospedagem no Interlegis?'), default=False)

33
sigi/apps/servidores/migrations/0002_auto_20210416_0841.py

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('servidores', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='servico',
name='responsavel',
field=models.ForeignKey(related_name='chefe', on_delete=django.db.models.deletion.SET_NULL, to='servidores.Servidor', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='servidor',
name='servico',
field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, blank=True, to='servidores.Servico', null=True),
preserve_default=True,
),
migrations.AlterField(
model_name='subsecretaria',
name='responsavel',
field=models.ForeignKey(related_name='diretor', on_delete=django.db.models.deletion.SET_NULL, to='servidores.Servidor', null=True),
preserve_default=True,
),
]

35
sigi/apps/servidores/models.py

@ -14,7 +14,12 @@ class Subsecretaria(models.Model):
nome = models.CharField(max_length=250, null=True) nome = models.CharField(max_length=250, null=True)
sigla = models.CharField(max_length=10, null=True) sigla = models.CharField(max_length=10, null=True)
# servidor responsavel por dirigir a Subsecretaria # servidor responsavel por dirigir a Subsecretaria
responsavel = models.ForeignKey('servidores.Servidor', related_name='diretor', null=True) responsavel = models.ForeignKey(
'servidores.Servidor',
on_delete=models.SET_NULL,
related_name='diretor',
null=True
)
class Meta: class Meta:
ordering = ('nome',) ordering = ('nome',)
@ -30,9 +35,18 @@ class Servico(models.Model):
nome = models.CharField(_(u'Setor'), max_length=250, null=True) nome = models.CharField(_(u'Setor'), max_length=250, null=True)
sigla = models.CharField(max_length=10, null=True) sigla = models.CharField(max_length=10, null=True)
subsecretaria = models.ForeignKey(Subsecretaria, null=True) subsecretaria = models.ForeignKey(
Subsecretaria,
on_delete=models.CASCADE,
null=True
)
# servidor responsavel por chefiar o serviço # servidor responsavel por chefiar o serviço
responsavel = models.ForeignKey('servidores.Servidor', related_name='chefe', null=True) responsavel = models.ForeignKey(
'servidores.Servidor',
on_delete=models.SET_NULL,
related_name='chefe',
null=True
)
class Meta: class Meta:
ordering = ('nome',) ordering = ('nome',)
@ -63,7 +77,7 @@ class Servidor(models.Model):
) )
# usuario responsavel pela autenticação do servidor no sistema # usuario responsavel pela autenticação do servidor no sistema
user = models.ForeignKey(User, unique=True) user = models.ForeignKey(User, on_delete=models.CASCADE, unique=True)
nome_completo = models.CharField(max_length=128) nome_completo = models.CharField(max_length=128)
apelido = models.CharField(max_length=50, blank=True) apelido = models.CharField(max_length=50, blank=True)
# caminho no sistema para arquivo com a imagem # caminho no sistema para arquivo com a imagem
@ -86,7 +100,12 @@ class Servidor(models.Model):
blank=True, blank=True,
null=True, null=True,
) )
servico = models.ForeignKey('servidores.Servico', blank=True, null=True) servico = models.ForeignKey(
'servidores.Servico',
on_delete=models.SET_NULL,
blank=True,
null=True
)
matricula = models.CharField(u'matrícula', max_length=25, blank=True, null=True) matricula = models.CharField(u'matrícula', max_length=25, blank=True, null=True)
turno = models.CharField( turno = models.CharField(
max_length=1, max_length=1,
@ -170,7 +189,7 @@ class Funcao(models.Model):
""" Modelo para guardar o histórico de funções dos """ Modelo para guardar o histórico de funções dos
servidores no Interlegis servidores no Interlegis
""" """
servidor = models.ForeignKey(Servidor) servidor = models.ForeignKey(Servidor, on_delete=models.CASCADE)
funcao = models.CharField(max_length=250, null=True) funcao = models.CharField(max_length=250, null=True)
cargo = models.CharField(max_length=250, null=True) cargo = models.CharField(max_length=250, null=True)
inicio_funcao = models.DateField(u'início da função', null=True) inicio_funcao = models.DateField(u'início da função', null=True)
@ -195,7 +214,7 @@ class Licenca(models.Model):
""" Modelo que representa as licenças tiradas pelos servidores """ Modelo que representa as licenças tiradas pelos servidores
""" """
servidor = models.ForeignKey(Servidor) servidor = models.ForeignKey(Servidor, on_delete=models.CASCADE)
inicio_licenca = models.DateField(u'início da licença') inicio_licenca = models.DateField(u'início da licença')
fim_licenca = models.DateField(u'fim da licença') fim_licenca = models.DateField(u'fim da licença')
obs = models.TextField(u'observação', blank=True, null=True) obs = models.TextField(u'observação', blank=True, null=True)
@ -217,7 +236,7 @@ class Ferias(models.Model):
""" Modelo que representa as férias tiradas pelos servidores """ Modelo que representa as férias tiradas pelos servidores
""" """
servidor = models.ForeignKey(Servidor) servidor = models.ForeignKey(Servidor, on_delete=models.CASCADE)
inicio_ferias = models.DateField(u'início das férias') inicio_ferias = models.DateField(u'início das férias')
fim_ferias = models.DateField(u'fim das férias') fim_ferias = models.DateField(u'fim das férias')
obs = models.TextField(u'observação', blank=True, null=True) obs = models.TextField(u'observação', blank=True, null=True)

Loading…
Cancel
Save